SSH no matching host key type found

Mac OSX升级到13.0.1后,Git无法拉取代码, 提示

Unable to negotiate with xxxxx port 8888: no matching host key type found. Their offer: ssh-rsa,ssh-dss
fatal: 无法读取远程仓库。

请确认您有正确的访问权限并且仓库存在。

由于新版OSX系统升级了Open SSH,OpenSSH 7.0以后的版本不再支持ssh-dss (DSA)算法,解决方法是增加选项-oHostKeyAlgorithms=+ssh-dss,即可成功解决

ssh git@192.168.1.1 -p 8888 -v  -oHostKeyAlgorithms=+ssh-dss

/Users/name/.ssh 目录下面的known_hosts里面的对应ip记录也需要删掉
每次指定算法, 也比较麻烦,类似tower等git管理工具不太方便
我们可以修改/Users/name/.ssh/config文件如下即可

host *
    HostKeyAlgorithms +ssh-rsa
    PubkeyAcceptedKeyTypes +ssh-rsa
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容