我正在尝试连接到通过我的VPN工作的存储库。我下载了Git,当我尝试克隆回购时,我收到了这条消息:
Unable to negotiate with XX.XX.XXX.XXX : no matching host key type found . their offer: ssh-dss
我有什么遗失的吗?
答案 0 :(得分:29)
我发现了问题,新的OpenSSH版本禁用了ssh-dss(DSA)公钥算法。 DSA被认为太弱,OpenSSH社区建议不要使用它。
如果您看到与此类似的错误:
无法与10.96.8.72协商:未找到匹配的主机密钥类型。 他们的提议:ssh-dss
...然后您必须通过编辑〜/ .ssh / config文件重新启用DSA密钥以添加以下行:
HostkeyAlgorithms +ssh-dss
如果尚未存在〜/ .ssh / config文件,则可能需要创建它。
创建文件后,您必须限制访问权限:
chmod 600 ~/.ssh/config
然后进行克隆。 这应该完美无缺!
答案 1 :(得分:1)
您正在尝试克隆ssh协议。另一方面的ssh服务器要求你使用dss密钥身份验证,但是git使用的ssh客户端无法访问一个,可能是因为你还没有创建一个。
如何创建密钥取决于您使用的ssh客户端和操作系统。
创建密钥时,您实际上是使用一个私钥和一个公钥创建密钥对。服务器必须知道公钥,服务器才能对您进行身份验证。
如何将公钥添加到服务器ssh-server,取决于所使用的ssh服务器(或哪个git托管软件包装ssh服务器)。