我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。
原因可能是什么?
当前回答
如果你没有使用GitBash并且在Windows上-你需要使用这个命令启动你的ssh-agent
start-ssh-agent.cmd
如果您的ssh代理没有设置,您可以以管理员身份打开PowerShell并将其设置为手动模式
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
其他回答
试着把这个添加到你的~/.ssh/config中:
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
... 假设您的私钥名为id_rsa
一旦你启动了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-add,并且仍然提示您输入密码,那么请尝试使用ssh-add -K。这将您的密码短语添加到您的钥匙串。
更新:如果你使用的是macOS Sierra,那么你可能需要再做一步,因为上面的步骤可能不再有效。在~/.ssh/config中添加以下命令:
Host *
UseKeychain yes
以前-K标志用于添加键,但现在:
ssh-add --apple-use-keychain
-K和-A标志已弃用,已被替换 用苹果使用钥匙链和苹果装载钥匙链 分别标记。
稍后编辑:您可能需要添加ssh-add——apple-load-keychain -q到您的.bash_profile或.bashrc或.zshrc或等效文件。
在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