git clone时出现Permission denied (public key)问题解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git clone时出现Permission denied (public key)问题解决相关的知识,希望对你有一定的参考价值。

参考技术A 总结一下,出现这个问题原因是clone的时候需要使用一个公钥和本地的私钥来做身份认证。

1、首先确认自己有没有git帐号

2、有的话,生成一对公私钥对,公钥上传到github,私钥需要添加到本地的私钥列表

具体步骤如下所示:

用  git clone  时出现错误:

Permission denied (publickey).

上网搜了一下, 原因是'You've probably not added a public key to your SSH keys.'

解决方法如下:

用下面的命令生成public key

$ ssh-keygen -t rsa

复制 public key (id_rsa.pub) 到你账户的 list of SSH keys , 再重新运行clone命令

如果还不行,执行下面的分析步骤:

1、首先尝试重新添加以前生成的key,添加多次,仍然不起作用。

2、使用命令 ssh -v git@github.com测试,最后几行结果如下:

debug1: Authentications that can continue: publickey

debug1: Next authentication method: publickey

debug1: Trying private key: /home/gr/.ssh/id_rsa

debug1: Trying private key: /home/gr/.ssh/id_dsa

debug1: Trying private key: /home/gr/.ssh/id_ecdsa

debug1: No more authentication methods to try.

Permission denied (publickey).

3、分析:尝试了3个private key,但都没有成功,最后是导致Permission denied.

4、查看我的密钥, ls ~/.ssh/ :

bajie  bajie.pub  known_hosts

5、发现我的id_rsa文件我命令为bajie, 所以根本没有使用它。同时可以使用如下命令查看密钥列表:

ssh-add -l

6、上面命令的密钥列表为空,所以要添加我的密钥,使用命令:

gr@grpc:~/workspace/git/home$ ssh-add ~/.ssh/bajie

Enter passphrase for /home/gr/.ssh/bajie:

Identity added: /home/gr/.ssh/bajie (/home/gr/.ssh/bajie)

7、再次查看,如下,添加成功:

gr@grpc:~/workspace/git/home$ ssh-add -l

2048 63:c5:d8:6c:a0:0c:a8:9c:26:d8:f8:95:de:29:04:eb /home/gr/.ssh/bajie (RSA)

8、再使用ssh -v git@github.com测试连接,可以看到验证通过:

debug1: Authentications that can continue: publickey

debug1: Next authentication method: publickey

debug1:Offering RSA public key: /home/gr/.ssh/bajie

debug1: Server accepts key: pkalg ssh-rsa blen 279

debug1:Authentication succeeded (publickey).

Authenticated to github.com ([192.30.252.129]:22).

9、最后git clone项目成功。

idea在使用git clone 时出现Filename too long

idea在使用git clone 时出现Filename too long的报错信息,使用如下命令就可以解决该问题:
在 git bash命令模式下,运行命令

git config --global core.longpaths true
  • 1

技术图片

参考链接:https://blog.csdn.net/tangyajun_168/article/details/93245236

 

以上是关于git clone时出现Permission denied (public key)问题解决的主要内容,如果未能解决你的问题,请参考以下文章

idea在使用git clone 时出现Filename too long

git push时出现Permission denied(publickey)的解决

运行命令“gatsby new gatsby-site”时出现 git clone 错误 - 命令失败,退出代码为 1(EPERM):

git push到远程仓库时出现Git Push Error: insufficient permission for adding an object to repository database(

git clone时出现:"diffie-hellman-group1-sha1 "

git clone 时出现fatal:unable to access 如下情况报错及解决办法