我最近安装了 Ubuntu 13.04,并像往常一样将我的 ssh 密钥添加到我的 github 帐户。我访问自己的报告没有任何问题,我可以克隆我的报告等......但今天,也许是因为任何更新?(我不知道),我无法连接到 github,它显示:权限被拒绝。当然,我已经添加了我的密钥。令我惊讶的是,如果我切换到另一个终端(例如 ALT + CTRL + F3)并且我使用与 Unity 默认终端相同的用户登录(可能存在问题)我可以连接!!
如果我使用默认终端(Unity)运行以下命令:
ssh -T [email protected]
它说:
代理承认无法使用密钥进行签名。权限被拒绝(公钥)。
但是如果我在另一个终端上运行相同的命令,它会要求我输入密码(为什么默认情况下它不要求我输入密码?)并且它可以正常运行并显示以下消息:
您好 --我的名字--!您已成功验证身份.....
有谁知道发生了什么事?
ssh -vT 的帖子[电子邮件保护]默认终端:
> OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012 debug1: Reading
> configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config
> line 19: Applying options for * debug1: Connecting to github.com
> [204.232.175.90] port 22. debug1: Connection established. debug1:
> identity file /home/daniel/.ssh/id_rsa type 1 debug1: Checking
> blacklist file /usr/share/ssh/blacklist.RSA-2048 debug1: Checking
> blacklist file /etc/ssh/blacklist.RSA-2048 debug1: identity file
> /home/daniel/.ssh/id_rsa-cert type -1 debug1: identity file
> /home/daniel/.ssh/id_dsa type -1 debug1: identity file
> /home/daniel/.ssh/id_dsa-cert type -1 debug1: identity file
> /home/daniel/.ssh/id_ecdsa type -1 debug1: identity file
> /home/daniel/.ssh/id_ecdsa-cert type -1 debug1: Remote protocol
> version 2.0, remote software version OpenSSH_5.5p1
> Debian-6+squeeze1+github12 debug1: match: OpenSSH_5.5p1
> Debian-6+squeeze1+github12 pat OpenSSH_5* debug1: Enabling
> compatibility mode for protocol 2.0 debug1: Local version string
> SSH-2.0-OpenSSH_6.1p1 Debian-4 debug1: SSH2_MSG_KEXINIT sent debug1:
> SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr
> hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none
> debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1:
> expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT
> sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Server host
> key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 debug1: Host
> 'github.com' is known and matches the RSA host key. debug1: Found key
> in /home/daniel/.ssh/known_hosts:4 debug1: ssh_rsa_verify: signature
> correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting
> SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not
> allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug1:
> SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can
> continue: publickey debug1: Next authentication method: publickey
> debug1: Offering RSA public key: /home/daniel/.ssh/id_rsa debug1:
> Server accepts key: pkalg ssh-rsa blen 279 Agent admitted failure to
> sign using the key. debug1: Trying private key:
> /home/daniel/.ssh/id_dsa debug1: Trying private key:
> /home/daniel/.ssh/id_ecdsa debug1: No more authentication methods to
> try. Permission denied (publickey).
答案1
您的密钥和身份验证代理似乎出了问题。在 Unity 终端会话中,尝试:
SSH_AUTH_SOCK=0 ssh -vT github
一个线索是,如果您在 X 会话中运行而不是在文本(vty)控制台中运行,则您使用的是不同的身份验证代理。
来源:https://help.github.com/articles/error-agent-admitted-failure-to-sign