答案1
取消设置 SSH_AUTH_SOCK 是一种解决方法,但这样做会禁用 ssh-agent,有些人可能仍想使用它。
似乎 ssh-agent 无法使用私钥签署任何东西,因为它在自动将此密钥添加到密钥环时没有正确地解密它。
如果在 ~/.ssh 中生成标准 id_rsa 身份文件,或者将私钥与其公钥一起存储在 ~/.ssh 中,ssh-agent 会自动将其添加到其密钥环中。但是,这样做时,它不会提示输入密码,也不会解密密钥。
解决方案是手动添加密钥。使用 ssh-add -D 从 ssh-agent 中删除所有 pkcs#8 加密密钥,并将私钥+公钥文件移出 ~/.ssh。重新启动或 ssh-agent -k,然后将 pkcs#8 加密的私钥移回 ~/.ssh。使用 ssh-add,系统会提示您输入解密密码。ssh-agent 现在可以访问未加密的私钥,因此可以用它签署文件。
(通过达蒙·德兰斯菲尔德)
答案2
抱歉,我的回答太仓促了,$SSH_AUTH_SOCK
修复方法对我有用;我在另一个帖子中找到了说明漏洞线程。如果其他人也遇到问题,输入export SSH_AUTH_SOCK=0
即可解决问题。希望有帮助!
答案3
如果你愿意,你还可以做另一件事,那就是用 OpenSSH 提供的密钥代理替换 GNOME SSH 密钥代理,然后再次添加所有密钥,如本文。