我按照github教程中的指示创建了密钥,在github上注册了它们,并尝试显式地使用ssh-agent -然而,每当我尝试进行拉或推操作时,git仍然会继续询问我的密码。

原因可能是什么?


当前回答

以前-K标志用于添加键,但现在:

ssh-add --apple-use-keychain

-K和-A标志已弃用,已被替换 用苹果使用钥匙链和苹果装载钥匙链 分别标记。


稍后编辑:您可能需要添加ssh-add——apple-load-keychain -q到您的.bash_profile或.bashrc或.zshrc或等效文件。

其他回答

在mac上, 如果你的SSH密钥每次都需要密码,你想跳过它,那么你可以试试下面,它对我来说很好

Eval "$(ssh-agent -s)" ssh-add -K .ssh/id_rsa 添加这个默认的SSH配置对我有用

主机* AddKeysToAgent是的 UseKeychain是的 IdentityFile ~ / . ssh / id_rsa

如果你用的是Win10:

我也有同样的问题。 (以前由于不同的问题,必须从这里用脚本单独更新ssh-agent)

Git确实访问了我的ssh配置(当我在ssh配置中有无意义的行时,Git会抛出异常),但似乎从不关心我通过ssh-agent添加并在配置中引用的私钥。

解决问题的方法是在PowerShell中执行以下命令:

git config core.sshCommand (get-command ssh).Source.Replace('\','/')

(详情见此连结)

我不知道是否有人需要不同的东西,但这对我帮助很大 https://stackoverflow.com/a/6445525/11891580

对我来说,每次重启,我都必须运行ssh-add——apple-use-keychain来加载凭据,所以我把这个命令添加到堆栈溢出的答案,现在它已经修复了

听起来您可能在SSH-Agent本身遇到了问题。我会试着排除故障。

1)你做SSH -add添加你的密钥到SSH?

2)你是否在使用之间关闭终端窗口,因为如果你关闭了窗口,当你重新打开它时,你将不得不再次输入密码。

使用SSH而不是HTTPS更新原始远程的url;

git remote set-url origin "SSH URL COPIED FROM GIT REPO."

这对我很管用。