SSH:无法与XXX.XXX.XX.XXX协商:未找到匹配的密钥交换方法。他们提供:diffie-hellman-group1-sha1

时间:2016-05-12 13:03:42

标签: git ssh

我正在尝试使用MINGW64在Windows上克隆一个repo,我收到了这个错误。

$ git clone ssh://user@server/myproject && scp -p -P XXXXX user@server:hooks/commit-msg myproject/.git/hooks/
Cloning into 'myproject'...
Unable to negotiate with XXX.XXX.XX.XXX: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
fatal: Could not read from remote repository.

*已经检查文档http://www.openssh.com/legacy.html和帖子http://www.openssh.com/legacy.html中的解决方案,但仍然会收到错误。

已将此添加到我的配置文件中 主持somehost.example.org     KexAlgorithms + diffie-hellman-group1-sha1

任何帮助?

1 个答案:

答案 0 :(得分:8)

group1很弱,应该禁用;见https://weakdh.org/sysadmin.html

支持group1的服务器非常糟糕。要求服务器操作员升级它是正确的解决方法。

如果您无论如何都急于连接它,您应该能够告诉您的客户使用ssh选项KexAlgorithms +diffie-hellman-group1-sha1启用它。它可以在ssh配置文件中或在-o的命令行中设置。如果你想使用命令行选项,你需要告诉git将选项传递给ssh,这在这个问题的答案中有解释:Passing ssh options to git clone