天天看点

Unable to negotiate with xx.xx port xx: no matching host key type found. Their offer: ssh-rsa....

  • 背景
    • 下载安装了官网最新的Git;
    • 安装没问题,配置了name和email;
    • 同时也配置了ssh秘钥到代码仓库;
    • 使用git bash命令或者从idea中clone代码,报错如下:
      Unable to negotiate with 118.31.165.50 port 22: no matching host key type found. Their offer: ssh-rsa
      fatal: Could not read from remote repository.
      
      Please make sure you have the correct access rights 
      and the repository exists.
                 
    • 上面的报错信息说的是没有匹配到类型为ssh-rsa的主机秘钥;也有一些报错的类型是Their offer: ssh-dss
  • 解决(以下两种方法本人都已成功验证)
    • 1、卸载高版本,使用低版本git(最简单);
    • 2、在.ssh目录中新建config配置文件,在文件中添加如下代码:(如果是dss则将rsa更换为dss即可)
      Host *
      HostkeyAlgorithms +ssh-rsa
      PubkeyAcceptedKeyTypes +ssh-rsa