前几天把本身的Ubuntu系统升级了一下,结果Git连不上GitHub了,其中各类心酸啊,主要是误信了官方文档关于测试SSH链接成功那部分的提示,很少说直接上干货!python
一、本地配置Git用户名和邮箱名git
$ git config --global user.email "xxx@qq.com" $ git config --global user.name "xxx"
二、生成SSH RSA keygithub
$ ssh-keygen -t ras -C "xxx@qq.com"
三、将public key复制粘贴到GitHub中
bash
settings --> SSH and GPG keys --> New SSH key
四、测试客户端与GitHub的链接,重点来了!ssh
$ ssh -vT git@github.com
最后一行输出:
ide
Error: Permission denied (publickey)
居然被拒了!!!而后我尝试使用debug模式链接测试,彷佛是找不到对应的id_rsa key!
测试
$ ssh -vvv git@githup.com
五、而后我查找了Git的官方文档,他们提供了如下命令修改
网站
$ ssh-add bash $ ssh-add -l $ ssh-add ~/.ssh/id_rsa $ ssh-add -l -E md5
上面几个命令的意思是咱们ssh测试链接时找不到id_rsa.pub公钥,因此要经过“ssh-add ~/.ssh/id_rsa”命令给它指明位置,我以前系统升级估计致使这个配置被刷掉了,全部我又从新添加上去了,这时我信心满满的觉得问题已经解决了!骚年,你太天真了!仍是“Permission denied”。
debug
而后我继续查找缘由,上Google看人家老外是怎么解决的,顺便把老外遇到问题的解决命令我贴一下,虽然对于个人问题然并卵!
md5
# 目录和文件权限不对也会致使SSH链接不上哦! chmod 755 /home chmod 700 .ssh chmod 600 .ssh/* # 检查ssh_config和sshd_config配置 IdentityFile ~/.ssh/id_rsa PubkeyAuthentication yes
最后我无心中在一个网站上看到有一我的说,某些Linux kernel版本上的SSH链接测试会有问题,这句话瞬间点醒了我,会不会我已经能够链接了,可是就是因为这个bug致使我一直显示链接被拒呢!我在GitHub上新建了一个测试仓库,而后在本地克隆它,而后成功了!我又在这个仓库中添加了一些测试文件也成功上传到了GitHub上,这时我内心只有一句话“mmb”!
附上官网文章:https://help.github.com/articles/error-permission-denied-publickey/