【Git学习】解决升级Git版本为2.36.1之后,AS弹出【SSH Password Login】窗口,并且Git连接远程仓库失败的问题

一、问题描述

1.1 版本太低要求升级

昨天AS一直提示我,git版本太低了, 我大概记得我之前的Git for Windows版本是2.12.0的。说需要升级到2.19版本之后,

然后我想着既然要升级,不如直接升级到最新版本。然后我就升级到了Git for Windows 2.36.1版本。

1.2 Git for Windows 下载地址

1.3 查看当前的git版本

我们使用命令

 git version

即可查出当前版本已更新为2.36.1.windows.1版本。
在这里插入图片描述

1.4 更新版本之后的问题

更新版本之后,AS弹出如下所示的【SSH Password Login】窗口

在这里插入图片描述
真的是莫名其妙啊!!!

二、排查问题

2.1 排查RSA公钥和私钥问题

我还以为是我的RSA公钥和私钥出问题了,经过一番排查,本地的RSA公钥和私钥没问题,和GitLab服务器上的公钥也匹配。

那就得查询另外的问题了。

2.2 查一下[Git for Windows]的升级日志

2.3 查看OpenSSH版本信息

OpenSSH will disable the ssh-rsa signature scheme by default in the
next release.
在这里插入图片描述

在这里插入图片描述

2.4 最终原因

好吧,通过上面的排查,我们发现在OpenSSH v8.8p1版本开始,Git for Windows 客户端会默认禁用ssh-rsa。而我们的Gitlab服务器目前只支持ssh-rsa,

当你不能自己升级远程服务器的 openssh 版本或修改配置让它使用更安全的算法时, 在本地 ssh 针对这些旧的ssh server重新启用 ssh-rsa 也是一种权宜之法.

如上所示,在本机~/.ssh/目录添加config文件,写入配置:

Host *  (全部开启,也可针对性调整,此处请删除)
    HostkeyAlgorithms +ssh-rsa
	PubkeyAcceptedAlgorithms +ssh-rsa

三、修复问题

在这里插入图片描述

  1. 进入.ssh目录
cd ~/.ssh
  1. 新建config文件
touch config
  1. 编辑config文件
vim config
  1. 添加如下内容
Host *
     HostKeyAlgorithms +ssh-rsa
     PubkeyAcceptedKeyTypes +ssh-rsa

在这里插入图片描述
5. 保存退出
6. 重新尝试和远程服务器连接的相关git操作,成功
在这里插入图片描述
好吧,最终成功解决这个问题!

猜你喜欢

转载自blog.csdn.net/qq446282412/article/details/124730677