(外链:廖雪峰Git教程)
(注:本文所有图片来源:GitHub官网(GitHub Help))
命令:$ git push -u origin master
git错误:[email protected]: Permission denied (publickey). fatal: Could not read from remote repository.
就在我跟着廖老师的引导下疯狂学习Git的使用方法时,突然遇到了廖老师没有提出的错误(就是上面的这个错误),让我浪费了一个小时来寻找各种解决办法。
终于,尝试了N多次,找到了一个blog:肖进炎笔记:问题:Permission denied (publickey).感谢博主。
前面的话就不多说了,可以看上面那位博主的博文,我主要记录下了官方对上文博主提到的“设置SSH key”值的过程。
是的,如果你没有在自己的GitHub上添加进你的SSH key,就会报上面的错误。详细过程见下:
1. 到目录 /C/User/username/.ssh 下找到你的id_rsa.pub
注意:上面目录中的User在Windows下是中文“用户”,username是你Windows的用户名,比如Administrator,要注意username下的 .ssh目录,在Linux下是隐藏目录,不会显示出来。
2. 将文件id_rsa.pub打开(使用记事本或者Notepad++都可以),复制里面的内容。
3.打开GitHub网页,登录你的GitHub账号。
4.点击右上角,你的头像,如图所示,选择Settings。
5.在左边的目录中选择“SSH and GPG keys”
6. 在右侧的SSH Key的右边有一个绿色的button,点击进入。
7. 看到如下图所示,Title部分可以自定义,Key部分就粘贴你刚从id_rsa.pub文件复制过来的内容。
8. 点击,验证完你的登录密码即可(也可能不用验证)。
再使用命令:$ git push -u origin master
就可以得到下面的内容了:Enumerating objects: 22, done.
Counting objects: 100% (22/22), done.
Delta compression using up to 12 threads
Compressing objects: 100% (19/19), done.
Writing objects: 100% (22/22), 2.14 KiB | 438.00 KiB/s, done.
Total 22 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), done.
To github.com:RememberHearts/learnMyGit.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
表示已经成功!
PS:当然,你可能不知道如何生成你自己的公钥,所以附上生成id_rsa.pub的命令行如下:
cd ~/.ssh #切换到.ssh目录下
ssh-keygen #生成id_rsa文件
接下来输入你的文件名,就用上面这个。如果提示你是否重写,你输入y就行了。剩下的两个内容只需要敲回车就搞定。
这样就可以得到id_rsa.pub文件了。然后按照上面的步骤,就可以将你的SSH key设置到你的GitHub里啦~