【Gerrit】正确添加了SSh key 仍报错 Permission denied (publickey). fatal: Could not read from remote repository

git开发环境部署

安装gitbash,配置用户名和邮箱:

git config --global user.name "username"
 
git config --global user.email "email"
 

生成密钥

ssh-keygen -t rsa -C ‘你的邮箱’

查看生成的密钥

cd ~/.ssh

在windows下查看[c盘->用户->自己的用户名->.ssh下是否有id_rsa、id_rsa.pub文件。
把id_rsa.pub文件里的公钥配置到Gerrit上即可

问题描述

当我们在部署新的开发环境时

在使用Gerrit clone代码的时候,你会发现报错,错误信息大概是:
Permission denied (publickey). fatal: Could not read from remote repository.

原因

OpenSSH从8.8版本开始由于安全原因开始弃用了rsa加密的密钥。
因为OpenSSH认为rsa破解成本太小了,有风险就给禁用了。
你可以通过命令:

ssh -v [git服务器IP地址]

如:
在这里插入图片描述
去查看Gerrit服务器的OpenSSH的版本号,
如果≥8.8,就可以用这个方法。

解决办法

可以使用ed25519代替rsa

ssh-keygen -t ed25519 -C "你的git邮箱"

其他步骤与使用rsa算法一致:
可以参考:git ssh key配置
(注:使用rsa算法生成的公钥文件默认名称是“id_rsa.pub”,使用ed25519算法生成的公钥文件默认名称是“id_ed25519.pub”)

猜你喜欢

转载自blog.csdn.net/weixin_39085822/article/details/129830226
今日推荐