今天在使用github命令时,出现Permission denied (publickey)错误,这里做下记录。
这个错误发生在添加到远程仓库时;
原因是:使用ssh连接github时,出现问题;
解决办法及操作步骤:
- 检查本地是否存在 SSH keys
(1).打开Git Bash
(2). 输入 ls -al ~/.ssh ,查看SSH keys是否存在
ls -al ~/.ssh
(3). 查看目录,是否存在 a public SSH key
注:public SSH key的文件名一般默认如下:
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
- 生成一个新的SSH keys,并且添加到ssh-agent中
第一步,生成ssh
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
第二步,按enter键(回车键)
第三步,输入密码
第四步,确定ssh-agent在运行
eval $(ssh-agent -s)
第五步,把private SSH加入到ssh-agent中。
如下图,一般情况下,这个步骤不需要操作,但是如果你的文件名比较与众不同,则需要进行如下操作。
ssh-add ~/.ssh/id_rsa
3.把SSH key 添加到github账号中去.
首先执行下面命令(复制id_rsa.pub文件中的内容):
clip < ~/.ssh/id_rsa.pub
注意:这里也可以直接到.ssh文件夹下直接找到id_rsa.pub文件里的内容进行复制
然后,如下图:settings->ssh and gpg keys->new ssh key ,把文件粘贴,保存即可
上面的问题不同的情况还可以有其他解决办法,这里只列举一个
参考资料:https://help.github.com/articles/connecting-to-github-with-ssh/