我正在尝试使用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
任何帮助?
答案 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