git ssh:权限被拒绝(公钥)

git ssh:权限被拒绝(公钥)

我尝试使用 github,因此我遵循了帮助文档。但是当我使用此命令时:我收到如下错误:ssh -vT [email protected]

jacos@Jing:~/.ssh$ ssh -vT [email protected]
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /home/jacos/.ssh/config
debug1: Applying options for github.com
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to ssh.github.com [207.97.227.248] port 443.
debug1: Connection established.
debug1: identity file /home/jacos/.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/jacos/.ssh/id_rsa-cert type -1
debug1: identity file /home/jacos/.ssh/id_dsa type -1
debug1: identity file /home/jacos/.ssh/id_dsa-cert type -1
debug1: identity file /home/jacos/.ssh/id_ecdsa type -1
debug1: identity file /home/jacos/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5github2
debug1: match: OpenSSH_5.1p1 Debian-5github2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
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 '[ssh.github.com]:443' is known and matches the RSA host key.
debug1: Found key in /home/jacos/.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/jacos/.ssh/id_rsa
debug1: Remote: Forced command: gerve gnijuohz 54:da:c2:c1:ca:4a:b9:4d:21:10:5b:42:3f:5a:8e:f7
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
Agent admitted failure to sign using the key.
debug1: Trying private key: /home/jacos/.ssh/id_dsa
debug1: Trying private key: /home/jacos/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).

代理是否同意使用密钥进行签名?没有其他身份验证方法可以尝试?

有人能解释一下这里出了什么问题吗?

谢谢。

答案1

在谷歌上搜索“代理承认未能使用密钥签名。”建议退出当前会话然后重新登录,或者使用ssh-add应该可以解决问题

理由:Ubuntu 使用ssh-agent程序:

 ssh-agent is a program to hold private keys used for public key authentication (RSA, DSA, ECDSA).  The idea
 is that ssh-agent is started in the beginning of an X-session or a login session, and all other windows or
 programs are started as clients to the ssh-agent program.  Through use of environment variables the agent can
 be located and automatically used for authentication when logging in to other machines using ssh(1).

如果您刚刚生成了一个密钥,ssh-agent但对此并不了解,因此无法使用该密钥进行签名 - 正如错误消息所说的那样。

要添加密钥,您需要重新启动ssh-agent(即注销并重新登录)或使用ssh-add重新扫描密钥。

请参阅man ssh-addman ssh-agent了解更多信息

答案2

您是否正确设置了 git 和 ssh 密钥。如果没有,请参阅这里

取自github

当 ssh 找不到您的密钥时也会导致此问题。确保您的密钥位于默认位置。~/.ssh如果您ssh-keygen再次运行并在所有 3 个提示符下按下 Enter,它将自动放置在此处。然后您可以将 id_rsa.pub 的内容添加到您的帐户。如果 id_rsa.pub 不起作用,请尝试 id_dsa.pub。ssh-keygen -t dsa如果您只有 rsa 密钥,则可能需要使用 生成新的 dsa 密钥。

PS 有时 URL 也会输入错误。URL 区分大小写。请确保正确输入。


另请参阅

答案3

使用github-keygen为 Github 设置 SSH:简单、强大、安全且可靠(比官方文档推荐的更安全)。

免责声明:我是此工具的作者

相关内容