原因
昨天升级了mac os到最新的Ventura 13.4.1。今早在公司发现无法拉取远程git代码,提示rsa连接失败。 原因是由于Mac 13.4.1中默认的ssh版本是9.0,而9.0默认关闭了ssh-rsa算法,所以提示gitlab远程无法连接。 通过下面的命令可以查看openSSH的版本:
ssh -V
正常的输出是:
OpenSSH_9.0p1, LibreSSL 3.3.6
解决方式
修改/etc/ssh/sshd_config,添加如下的开启ssh-rsa即可:
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
这里记得使用sudo vim /etc/ssh/sshd_config,否则会提示无法修改该文件。
修改之后如下图所示:
验证
重新执行git pull,发现已经能正常拉取远程分支的代码了。