![git ssh:权限被拒绝(公钥)](https://linux22.com/image/1038435/git%20ssh%EF%BC%9A%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%EF%BC%88%E5%85%AC%E9%92%A5%EF%BC%89.png)
我尝试使用 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-add
并man ssh-agent
了解更多信息
答案2
答案3
使用github-keygen
为 Github 设置 SSH:简单、强大、安全且可靠(比官方文档推荐的更安全)。
免责声明:我是此工具的作者。