推入或拉出 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 pull
和 git 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 已停止工作
SQL2005重新启动时(提示无法停止MSSQLSERVER),该怎么办?
NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier : 应用程序被推入后台后下载停止