学习Git的第一天——git远程库同步失败问题

时间:2024-04-09 12:30:53

(外链:廖雪峰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。

学习Git的第一天——git远程库同步失败问题

5.在左边的目录中选择“SSH and GPG keys”

学习Git的第一天——git远程库同步失败问题

6. 在右侧的SSH Key的右边有一个绿色的button学习Git的第一天——git远程库同步失败问题,点击进入。

7. 看到如下图所示,Title部分可以自定义,Key部分就粘贴你刚从id_rsa.pub文件复制过来的内容。

学习Git的第一天——git远程库同步失败问题

8. 点击学习Git的第一天——git远程库同步失败问题,验证完你的登录密码即可(也可能不用验证)。

再使用命令:$ 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-****** #生成id_rsa文件

接下来输入你的文件名,就用上面这个。如果提示你是否重写,你输入y就行了。剩下的两个内容只需要敲回车就搞定。

这样就可以得到id_rsa.pub文件了。然后按照上面的步骤,就可以将你的SSH key设置到你的GitHub里啦~