gpt4 book ai didi

git - 推送到 github 或从 github pull 时,无法停止提示输入 ssh key 密码

转载 作者:行者123 更新时间:2023-12-05 06:55:49 27 4
gpt4 key购买 nike

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

我的机器是 Arch Linux,我使用的是标准更新的 openssh 套件和 git 2.29.2。我创建了 SSH key (~/.ssh/id_ed25519) 并受密码保护,公共(public)部分在 GitHub 中。在本地,我的 Remote 配置为使用 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 key 密码。我决定关注 Arch Wiki 的 ssh-agent article .我启动了代理:

$ eval $(ssh-agent)
Agent pid 33150

我添加了 key :

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

我确认 key 已添加:

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

我还按照 Arch Wiki 中的指示将 AddKeysToAgent yes 添加到 ~/.ssh/config (我还尝试将 Host *在上面的一行中,无济于事):

$ cat ~/.ssh/config
AddKeysToAgent yes

但每次我尝试推送或 pull 时,都会提示我输入密码。一旦我输入它,它就起作用了:

$ 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

知道会发生什么吗?

编辑:

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

最佳答案

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

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

作为OP Adriano Pinaffothe comments 中提到, 重新启动计算机足以使其工作。
一个进程可能会保留 SSH 资源的句柄,这会阻止代理正常工作。

关于git - 推送到 github 或从 github pull 时,无法停止提示输入 ssh key 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65268330/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com