因此,我将git和github与MFA一起使用,因此,为避免烦人的密码询问,我使用[email protected]:user/repo.git
URL样式已有一年多了。
几天前,我运行了一个brew update
,现在每次尝试与github服务器同步时,git都会要求我输入密钥密码。
到目前为止,我做了什么:
检查了我的配置,对我来说似乎还可以,但是在这里(相关部分):
[user]
name = Carlos Alexandro Becker
email = [email protected]
helper = osxkeychain
试图更新git和osxkeychain,当前版本为:
git 2.4.1
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
为github.com清理了osxkeychain
我看到的一件奇怪的事情是:
$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa.pub'
Enter passphrase for /Users/carlos/.ssh/id_rsa.pub:
因此,我的猜测是ssh-agent无法正常工作,但我不知道为什么也不知道如何解决它。
既然您提到了,那么brew
我假设您正在Mac上运行。这也发生在我身上,解决方案是确保我将密码短语添加到了钥匙串中(Mac版本的ssh-agent
,在Mac上自动启动,包括钥匙串支持):
$ ssh-add -K
并为其他密钥存储密码:
$ ssh-add -K /path/to/private/key/file
特别是在我的情况下(因为我为GitHub使用了单独的密钥):
$ ssh-add -K ~/.ssh/github_rsa
要将密钥自动加载到ssh-agent并将密码短语存储在钥匙串中,您需要修改〜/ .ssh / config:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
我从这里获得了以下信息:
上面的内容解决了ssh密钥的OP问题。如果您还想缓存HTTPS凭据,则以下内容对Mac用户也很有用。您可以通过使用凭据帮助器来做到这一点。要告诉git使用osxkeychain
帮助器,请确保已将其添加到您的~/.gitconfig
(或~/.config/git/config
)中。
[credential]
helper = osxkeychain
您可以从命令行设置以下条目,而不是直接编辑文件:
$ git config --global credential.helper osxkeychain
请参阅以下链接以获取更多详细信息(包括如何验证系统是否osxkeychain
安装了帮助程序):
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句