提问者:小点点

Git 错误:无法与 XX.XX.XXX.XXX 协商:未找到匹配的主机密钥类型。他们的报价: SSH-DSS [重复]


我正在尝试通过我的VPN连接到一个可以工作的存储库。我下载了Git,当我试图克隆回购时,我收到了这样的消息:

无法与XX.XX.XXX.XXX协商:找不到匹配的主机密钥类型。他们的报价:ssh dss

我错过了什么吗?


共2个答案

匿名用户

我发现了问题,新的OpenSSH版本禁用了ssh-dss(DSA)公钥算法。DSA被认为过于薄弱,OpenSSH社区建议不要使用它。

如果您看到类似的错误:

无法与10.96.78.72协商:找不到匹配的主机密钥类型。他们的报价:ssh dss

…然后,您必须通过编辑~/.ssh/config文件来重新启用DSA密钥,以添加以下行:

HostkeyAlgorithms +ssh-dss

您可能需要创建~/。ssh/config文件,如果它不存在的话。

创建文件后,必须限制访问权限:

chmod 600 ~/.ssh/config

然后进行克隆。这应该工作得非常好!

匿名用户

您正试图通过ssh协议进行克隆。另一端的ssh服务器要求您使用dss密钥身份验证,但git使用的ssh客户端无法访问,可能是因为您还没有创建一个。

如何创建密钥取决于您使用的ssh客户端和操作系统。

当您创建一个密钥时,实际上您正在创建一个具有一个私钥和一个公钥的密钥对。服务器必须知道公钥,服务器才能对您进行身份验证。

如何将公钥添加到服务器ssh-server取决于使用的ssh服务器(或包装ssh服务器的git托管软件)。