今天在上传项目到码云的时候,出现了上述描述的错误。这个应该是很多新手经常出错的问题,其实就是没有在你码云(github也是如此,以下内容以码云举例)上添加一个公钥。
报错截图如下:
$ git push git@gitee.com:wupengwei/demo2.git master
git@gitee.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
解决方案
1. 使用 ssh -T git@github.com 测试一下,得到Permission denied(publickey).意思表示缺少公钥。
2.输入ssh-keygen -t rsa -C “WuPengwei”,之后按下一步(Enter)大概是按四次,当看到RSA 2048的框框时,表示成功生成公钥。WuPengwei是我本人的在码云上的账号。记住保存公钥的地址,第三步要用。
$ ssh-keygen -t rsa -C "5147519+wupengwei@user.noreply.gitee.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/小小吴/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/小小吴/.ssh/id_rsa.
Your public key has been saved in /c/Users/小小吴/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:zrvC/XwgQ5cPwWG66/epKvy6+b4Fz8TlIZEa2a3uCYk 5147519+wupengwei@user.noreply.gitee.com
The key's randomart image is:
+---[RSA 2048]----+
| +++ |
| oo=.. |
| .o.+o |
| oo=+ . |
| oS+oo. |
| Eo=*o . |
| o .+=+o |
| =o.++ .. |
| +OX*++o |
+----[SHA256]-----+
3.cat 一下第二步保存的公钥地址,在控制台将公钥复制下来。
$ cat in /c/Users/小小吴/.ssh/id_rsa.pub
结果如下:
cat: in: No such file or directory
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCnTJb/kkC9uIs4otonqh20ZPUNpJUkaFtgisq3ZGUOjLFg7NIX8EWeCpm/du+Dmuwozn+ZntOrgrRcDEBMsPfANTHfIrJwmwn90sCx9Htey7gRQf29wpSdyskTGdIDlDz81F0a204hVOCxCZqCdCp5Uxnm3hfWuuEa8SNvCqShtyb/K7KUzUsLGw6CFbOO5ps642Tbuq9ng6gU69+nkC0PwqparPsT5Y5jigy3+SbZLF8NSkpw2rR+nMKJJ4cDzuYvKuY7wDtsn4RFGhi4nbomw0MjA7Q1trWhR2JV5yjpl4TYFSe6+lzhqT2fejfOU6ApCEy0oAYoYSPUY3ymBzDV 5147519+wupengwei@user.noreply.gitee.com
登录码云账号,添加刚刚复制的公钥
这里的title并不重要,可不填(点一下输入框会自动生成的)
最后再运行一次push命令,应该就可以了
$ git push git@gitee.com:wupengwei/demo2.git master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 476 bytes | 476.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0)
remote: Powered By Gitee.com
To gitee.com:wupengwei/demo2.git
* [new branch] master -> master