推入或拉出 github 时无法停止提示输入 ssh 密钥密码

Posted

技术标签:

【中文标题】推入或拉出 github 时无法停止提示输入 ssh 密钥密码【英文标题】:Can't stop being prompted for ssh key password when pushing to or pulling from github 【发布时间】:2021-03-23 20:54:51 【问题描述】:

在有人说这是重复的之前(好吧,它可能是但是......)我检查了this、this、this、this、this 和许多其他链接,但似乎没有提供任何链接我正在寻找的答案。

我的机器是 Arch Linux,我使用的是标准更新的 openssh 套件和 git 2.29.2。 我创建了我的 SSH 密钥 (~/.ssh/id_ed25519) 并受密码保护,公共部分在 GitHub 中。在本地,我的遥控器配置为使用 ssh:

$ git remote -v
origin  git@github.com:my-account/git.git (fetch)
origin  git@github.com:my-account/git.git (push)

git pullgit push 工作正常,只要我输入 ssh 密钥密码。我决定关注 Arch Wiki 的 ssh-agent article。我启动了代理:

$ eval $(ssh-agent)
Agent pid 33150

我添加了密钥:

$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/user/.ssh/id_ed25519: 
Identity added: /home/user/.ssh/id_ed25519 (user@machine)

我确认已添加密钥:

$ ssh-add -l
256 SHA256:MlO552tuyNhfE2x1CeVdzT4QpeaavT229V2UcHDgIX8 user@machine (ED25519)

我还添加了 AddKeysToAgent yes~/.ssh/config,如 Arch Wiki 中所示(我还尝试将 Host * 放在上面的一行中,但无济于事):

$ cat ~/.ssh/config
AddKeysToAgent yes

但每次我尝试推或拉时,都会提示我输入密码。一旦我输入它,它就可以工作:

$ git push
Enter passphrase for key '/home/user/.ssh/id_ed25519': 
Everything up-to-date
$ git push
Enter passphrase for key '/home/user/.ssh/id_ed25519': 
Everything up-to-date

知道会发生什么吗?

编辑:

我刚刚测试了一些东西: 我将我的 pub 密钥复制到另一台服务器,我可以很好地连接到该服务器,而不会提示输入密钥密码。这暗示我问题出在 git/github,而不是 ssh。有什么想法吗?

【问题讨论】:

【参考方案1】:

The wiki 确实提到将配置设置 AddKeysToAgent yes 添加到 ~/.ssh/config

如果这在另一台服务器上工作(在 ssh-agent 中使用缓存密码),请比较两者之间的环境变量(特别是名称中包含 SSH 的任何变量)

正如OP Adriano Pinaffo 在the comments 中提到的那样,重新启动计算机就足以使其工作。 可能是某个进程一直在处理 SSH 资源,这导致代理无法正常工作。

【讨论】:

奇怪...我不得不重新启动我的机器,它才开始工作。 @Adriano_Pinaffo 好的。我已将您的评论包含在答案中以提高知名度。

以上是关于推入或拉出 github 时无法停止提示输入 ssh 密钥密码的主要内容,如果未能解决你的问题,请参考以下文章

K3CloudMQ服务无法启动,提示:本地计算机上的k3cloudmq 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止

为啥在打开PDF文件时,Windows提示Adobe Reader 已停止工作

ss连接正常但无法上网

再生后如何更新 Github 的 PAT?

SQL2005重新启动时(提示无法停止MSSQLSERVER),该怎么办?

NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier : 应用程序被推入后台后下载停止