跳至主要内容

错误:代理程序承认签名失败

在极少数情况下,通过 Linux 上的 SSH 连接到 GitHub 会产生错误“`代理程序承认使用密钥签名失败`”。请按照以下步骤解决此问题。

尝试在 Linux 计算机上 SSH 登录 GitHub.com 时,您可能会在终端中看到以下消息

$ ssh -vT [email protected]
> ...
> Agent admitted failure to sign using the key.
> debug1: No more authentication methods to try.
> Permission denied (publickey).

有关更多详细信息,请参阅 Canonical Launchpad 上的此问题报告

解决方案

您可以使用ssh-add将密钥加载到 SSH 代理中来修复此错误。

# start the ssh-agent in the background
$ eval "$(ssh-agent -s)"
> Agent pid 59566
$ ssh-add
> Enter passphrase for /home/YOU/.ssh/id_rsa: [tippy tap]
> Identity added: /home/YOU/.ssh/id_rsa (/home/YOU/.ssh/id_rsa)

如果您的密钥没有默认文件名(`/.ssh/id_rsa`),则必须将该路径传递给ssh-add

# start the ssh-agent in the background
$ eval "$(ssh-agent -s)"
> Agent pid 59566
$ ssh-add ~/.ssh/my_other_key
> Enter passphrase for /home/YOU/.ssh/my_other_key: [tappity tap tap]
> Identity added: /home/YOU/.ssh/my_other_key (/home/YOU/.ssh/my_other_key)