1,登录gerrit服务器,本地使用命令git clone ssh://123.207.207.47:29418/ApiServer,拉取代码会报错,原因是没有访问权限,需要通过ssh配置公钥和私钥

2,设置用户名和邮箱

git config --global user.name chenke

git config --global user.email ckdevops@163.com

3,生成公钥私钥

ssh-keygen -t rsa -C ckdevops@163.com

连续三次回车键,会在C:\User\用户名\.ssh下生成公钥id_rsa.pub 和私钥 id_rsa,其中公钥需要添加到gerrit的SSH Public Keys中

4,进入Settings-->SSH Public Keys-->Add Key位置,将id_rsa.pub中的所有内容拷贝到对应位置,如下图

 5,本地再次clone代码,发现还会有报错

被这个问题折磨的死去活来,以为自己配置错了,翻来覆去找问题,折磨了好长一段时间。原因是由于OpenSSH从8.8版本由于安全原因开始弃用了rsa加密的密钥,因为OpenSSH认为rsa破解成本已经低于5万美元,所以觉得成本太小了,有风险就给禁用了。

6,上述问题解决方案,进入本机 .ssh目录,在下面新建一个config文件,不带后缀名,配置如下

Host 123.207.207.47                            #修改成自己的gerrit服务器ip
HostName 123.207.207.47                  #修改成自己的gerrit服务器ip
User chenke                                         #修改成自己的gerrit用户名
PubkeyAcceptedKeyTypes +ssh-rsa            #保持不变
IdentityFile ~/.ssh/id_rsa                               #保持不变
Port 29418                                                    #保持不变

7,再次拉取代码,发现已经成功了

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐