- 🏃♂️ 微信公众号: 朕在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链接方式拉取项目了。
如果大家觉得本文写得不错,别忘了给个赞哦!同时,如果您有任何疑问或建议,欢迎在评论区留言,让我们一起交流、探讨!