一. 问题:
按照教程添加好ssh key之后, 测试git时(ssh -vT git@github.com) 命令时出现Permission denied (public key) 。
二. 解决:
1、首先尝试重新添加以前生成的key,添加多次,仍然不起作用。
2、使用命令 ssh -v git@github.com测试,最后几行结果如下:
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/gr/.ssh/id_rsa
debug1: Trying private key: /home/gr/.ssh/id_dsa
debug1: Trying private key: /home/gr/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).
3、分析:尝试了3个private key,但都没有成功,最后是导致Permission denied.
4、查看我的密钥, ls ~/.ssh/ :
git git.pub known_hosts
5、发现我的id_rsa文件我命令为git, 所以根本没有使用它。同时可以使用如下命令查看密钥列表:
ssh-add -l
6、上面命令的密钥列表为空,所以要添加我的密钥,使用命令:
ssh-add ~/.ssh/git
7、再次查看,如下,添加成功:
[root@localhost .ssh]# ssh-add -l
2048 a9:8a:00:47:cb:33:8b:d5:ec:d2:bf:6c:0c:c6:e7:c8 ./git (RSA)
8、再使用ssh -v git@github.com测试连接,可以看到验证通过:
debug1: Offering RSA public key: ./git
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([192.30.252.128]:22).
9、成功。