解决ssh permission denied(publickey)
本文最后更新于:2 个月前
保留现场
1 |
|
探究原因
本次出错是在测试是否能连接gerrit时。连接github也可能会出现。只要用到ssh功能的都有可能。
出错的原因:
- 网页(如gerrit,github)没有设置公钥,一般为
id_rsa.pub
内容; - 本地生成了多个公私钥,配对配错了;
- 本地没有配置好
git
,比如git config
时用户名或者邮箱填错; - 需要开启ssh代理;
解决方法
- 生成密钥
cd ~/.ssh && ssh-keygen
- 复制公钥内容,添加到网页中
github
或者gerrit
的设置里。cat id_rsa.pub | xclip
- 配置
git
账户git config --global user.name "bob"
git config --global user.email bob@...
以上检查无误,仍然报错
- 开启
ssh
代理eval $(ssh-agent -s)
- 将私钥加入代理
ssh-add ~/.ssh/id_rsa
登陆用户时启动 ssh-agent
如果不幸你的问题就是需要开启ssh-agent
,那么每次重启电脑都需要开启一次。这也是相当麻烦的,可以通过将以下配置添加到~/.bashrc
中,让linux启动时自动开启ssh-agent
。
1 |
|
参考
ssh - Git: How to solve Permission denied (publickey) error when using Git? - Stack Overflow
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!