GitHub常见问题解决「Permission denied (publickey)」
1 写在前面的
最近刚刚部署好了到生产环境就产生了一些问题。因为上班的时候这些Git的初期操作基本都是按照公司给的设置步骤来,自己从零开始肯定会踩到不少坑。所以现在来记录一下主要遇到的坑和解决办法。
2 出现的错误问题 git clone 成功 git push 失败
我们这里开发者一般的步骤就是自己电脑上本地开发,本地开发之后上传到代码管理网站,然后部署到时候 git clone 一份下来直接部署,代码部署的时候可能有跟我一样的新手在代码的上面改了一些配置文件到一些地方,这个时候改完也在 git status 上发现了修改记录,成功git add,git commit之后,却发现……
在 git push 的时候却出现了这种错误▼
1 | Permission denied (publickey). |
肯定很多人心里有跟我一样的疑问明明我都已经 git clone 成功了怎么还会有权限问题?
然后debug一下
1 | $ ssh -T git@github.com |
发现还是
Permission denied (publickey).
已经抓狂了有没有 怎么全是 Permission denied (publickey).
然后在使用 -vT 来详细看下到底哪里出错了
1 | $ ssh -vT git@github.com |
发现出来了一堆信息 然后定位到最后可以发现是key的路径
1 | ... |
好了 基本可以定位到应该是github没有成功配对好密钥对!!向下看▼▼▼▼▼▼
3 解决方法
3-1 linux上控制和保存钥匙的工具
1 | $ ssh-agent -s |
3-2 专用密钥添加到ssh-agent的高速缓存
1 | $ ssh-add ~/.ssh/你的密钥,不带pub的那个,注意路径和密钥名字!!! |
如果出现了这个错误
Could not open a connection to your authentication agent
就使用一下
1 | $ ssh-agent bash |
3-3 测试一下
1 | $ ssh -T git@github.com |
出现以下结果就是成功了
Hi NAME! You’ve successfully authenticated, but GitHub does not provide shell access.
4 【总结】嫌太长不想看想直接解决问题的请点这里
- 主要错误
1 | Permission denied (publickey). |
- 可能原因
密钥也就是rsa没配对好
- 解决办法
1 | $ ssh-agent -s # 步骤1 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 3mile的博客!
评论