在本地生成
id_rsa
的时候对其设定了passphrase
,以至于后来每次向github
仓库push
的时候都要手动输入一次passphrase
才验证身份,这样虽然保证了安全性,但是大大降低了便捷性。所以就去搜寻了解决方案。
解决方法
本地依次运行以下代码:
1 | eval `ssh-agent` |
ssh-agent
是用于管理密钥,ssh-add
用于将密钥加入到 ssh-agent
中,SSH
可以和 ssh-agent
通信获取密钥,这样就不需要用户手工输入密码了。
将以上命令写入到 ~/.bash_profile
中,可以免去每次重启会话都要重新输入上述两条命令的麻烦。
如上的命令只对当前会话有效,当会话关闭立马就会失效。
永久性解决问题
利用 Keychain
Add Identity Using Keychain
to persist the passphrase through restarts by storing it in your keychain, you can use the -K option when adding the identity like this:ssh-add -K ~/.ssh/id_rsa
Once again, this will ask you for the passphrase, enter it and this time it will never ask again for this identity.
第一点中提到的解决方法就是没有利用 keychain
来管理密码。持久性只能保持到当前会话。