我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
当前回答
听起来您可能在SSH-Agent本身遇到了问题。我会试着排除故障。
1)你做SSH -add添加你的密钥到SSH?
2)你是否在使用之间关闭终端窗口,因为如果你关闭了窗口,当你重新打开它时,你将不得不再次输入密码。
其他回答
听起来您可能在SSH-Agent本身遇到了问题。我会试着排除故障。
1)你做SSH -add添加你的密钥到SSH?
2)你是否在使用之间关闭终端窗口,因为如果你关闭了窗口,当你重新打开它时,你将不得不再次输入密码。
一旦你启动了SSH代理,使用:
eval $(ssh-agent)
做:
To add your private key to it: ssh-add This will ask you your passphrase just once, and then you should be allowed to push, provided that you uploaded the public key to Github. To add and save your key permanently on macOS: ssh-add -K This will persist it after you close and re-open it by storing it in user's keychain. If you see a warning about deprecated flags, try the new variant: ssh-add --apple-use-keychain To add and save your key permanently on Ubuntu (or equivalent): ssh-add ~/.ssh/id_rsa
使用SSH而不是HTTPS更新原始远程的url;
git remote set-url origin "SSH URL COPIED FROM GIT REPO."
这对我很管用。
执行如下命令:
eval $(ssh-agent) && ssh-add ~/.ssh/id_rsa &>/dev/null
输入密码,然后检查git。Git在执行此命令后不应该询问密码短语。
原文来源:https://gist.github.com/egoens/c3aa494fc246bb4828e517407d56718d
上面没有提到的另一个可能的解决方案是使用以下命令检查您的遥控器:
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