【发布时间】: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。有什么想法吗?
【问题讨论】:
标签: git github ssh ssh-keys ssh-agent