我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
当前回答
上面没有提到的另一个可能的解决方案是使用以下命令检查您的遥控器:
git remote -v
如果远程服务器不是以git启动,而是以https启动,您可能希望按照下面的示例将其更改为git。
git remote -v // origin is https://github.com/user/myrepo.git
git remote set-url origin git@github.com:user/myrepo.git
git remote -v // check if remote is changed
其他回答
使用SSH而不是HTTPS更新原始远程的url;
git remote set-url origin "SSH URL COPIED FROM GIT REPO."
这对我很管用。
上面没有提到的另一个可能的解决方案是使用以下命令检查您的遥控器:
git remote -v
如果远程服务器不是以git启动,而是以https启动,您可能希望按照下面的示例将其更改为git。
git remote -v // origin is https://github.com/user/myrepo.git
git remote set-url origin git@github.com:user/myrepo.git
git remote -v // check if remote is changed
如果您已经尝试了ssh-add,并且仍然提示您输入密码,那么请尝试使用ssh-add -K。这将您的密码短语添加到您的钥匙串。
更新:如果你使用的是macOS Sierra,那么你可能需要再做一步,因为上面的步骤可能不再有效。在~/.ssh/config中添加以下命令:
Host *
UseKeychain yes
在Windows上对我有效的是(我从repo 1st中克隆了代码):
eval $(ssh-agent)
ssh-add
git pull
这时它最后一次向我要密码
积分:溶液是从 https://unix.stackexchange.com/questions/12195/how-to-avoid-being-asked-passphrase-each-time-i-push-to-bitbucket
试着把这个添加到你的~/.ssh/config中:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
... 假设您的私钥名为id_rsa