解决在linux上git clone 时报错 [email protected]: Permission denied (publickey). Could not read from remote repo

报错详情:

今天在gitee上看到一个比较感兴趣的项目,于是就想下载下来研究研究,结果git clone 克隆的时候报错了,报错如下:

[email protected]: Permission denied (publickey).fatal: Could not read
from remote repository.Please make sure you have the correct access
rights and the repository exists.

在这里插入图片描述

原因分析:

Permission denied (publickey) 没有权限的publickey(公锁) ,出现这错误一般是以下两种原因:

  • 客户端与服务端未生成 ssh key
  • 客户端与服务端的ssh key不匹配

最后找到问题的原因了,因为没有正确设置公私钥,导致没有权限操作。所以需要生成一次ssh key ,服务端也需要配置一下即可;

解决方法:

  • 1、先查看一下自己有没有生成过public key
cat ~/.ssh/id_rsa.pub 

如果有的话,那应该是以ssh-rsa 开头的,以生成公钥时注册的邮箱为结尾的。

在这里插入图片描述

我看了一下,这里是有公钥的,那么为什么还会报错呢,看了看邮箱,因为这个以前同事也在用,可能是他生成的公钥吧,邮箱地址是他的;所以是因为是不同的邮箱,也就是两个账号,所以用不了,但我们要知道设定时的密码,要不然也弄不了,索性,我就重新生成了一个,注意:这里再次生成公钥的时候会覆盖以前的,所以有必要时先备份在重新生成。

  • 2、生成公私钥
ssh-keygen -t rsa -C[email protected]

这里的[email protected]填写你自己的邮箱账号;

在这里插入图片描述

  • 3、将public key添加到码云

复制刚刚生成的公钥:

cat ~/.ssh/id_rsa.pub 

在这里插入图片描述

打开自己的Gitee的设置–>ssh公钥:https://gitee.com/profile/sshkeys

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

然后需要做一个安全认证,需要您输入gitee的密码,最后就添加成功了。

  • 4、可以自己验证一下是否成功
ssh -T [email protected]

这里需要输入自己设置公钥时的密码;最后出现access即成功。

在这里插入图片描述

  • 5、然后我们就可以clone克隆仓库了
git clone [email protected]:carefree-state/mara-circle-july-2023.git

在这里插入图片描述

这样就克隆成功了。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/liu_chen_yang/article/details/131652500