mac使用SSH方式拉取Git仓库项目报错:no matching host key type found.

在这里插入图片描述

  • 🏃‍♂️ 微信公众号: 朕在debugger
  • © 版权: 本文由【朕在debugger】原创、需要转载请联系博主
  • 📕 如果文章对您有所帮助,欢迎关注、点赞、转发和订阅专栏!
前言

mac 使用 SSH 拉取项目时报错:
no matching host key type found. Their offer: ssh-rsa,ssh-dss Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

通常是因为 Git 客户端与远程 Git 服务器之间的 SSH 配置不兼容,特别是 SSH 协议中密钥算法不匹配。

这通常发生在新的 OpenSSH 客户端与较旧的服务器之间

本文记录一下解决方案。



解决方案:

一、启用 ssh-rsa 算法支持

从 OpenSSH 8.8 版本开始,默认禁用了 ssh-rsa 算法,因为它被认为不够安全。然而,有些旧的 Git 服务器仍然使用 ssh-rsa 密钥类型。如果你确定远程服务器是可信的,并且你需要支持 ssh-rsa,可以在本地强制 OpenSSH 客户端接受 ssh-rsa 算法。

二、编辑 SSH 配置文件,如果文件不存在,nano 会创建一个新的文件

终端执行命令:nano ~/.ssh/config

添加如下内容:

Host *
  HostkeyAlgorithms +ssh-rsa

Host * 表示这个配置适用于所有主机(你可以根据需要限制某些特定主机)。
HostkeyAlgorithms +ssh-rsa 表示允许 ssh-rsa 算法用于 SSH 连接。
+ 表示在现有的算法列表中添加 ssh-rsa,而不是替换它。

设置好后,按 Control + O 保存文件。 按 Enter 确认文件名。按 Control + X 退出编辑器。

三、设置文件权限

一般来说要确保 ~/.ssh/config 文件的权限正确,通常 SSH 配置文件需要确保只有当前用户可以读写。
运行以下命令以确保文件权限设置正确

chmod 600 ~/.ssh/config

四、总结

一般我是不用SSH链接方式拉取项目代码的,只不过这次项目名称以及路径包含中文,使用 HTTPS 链接拉取时中文字符被编码转换了,整了一下,没解决就换SSH链接方式拉取项目了。



finally

如果大家觉得本文写得不错,别忘了给个赞哦!同时,如果您有任何疑问或建议,欢迎在评论区留言,让我们一起交流、探讨!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值