【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. 保存退出
看评论区,应该有部分读者不熟悉vim操作。这里讲一下怎么保存退出。 可以参考链接:如何保存文件并退出Vim

    1. 使用vim编辑好文件后,按下Esc键退出编辑状态,进入到命令模式
    1. w
    1. q键 , (即 第2步骤到第4步骤的结果为:输入字符 :wq )
      在这里插入图片描述
    1. 然后按下回车Enter键即可
  1. 重新尝试和远程服务器连接的相关git操作,成功
    在这里插入图片描述
    好吧,最终成功解决这个问题!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

字节卷动

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值