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



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

Unable to negotiate with XX.XX.XXX.XXX : no matching host key type found . their offer: ssh-dss

我错过了什么吗?

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

如果您看到类似如下的错误:

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

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

HostkeyAlgorithms +ssh-dss

如果 ~/.ssh/config 文件尚不存在,您可能需要创建该文件。

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

chmod 600 ~/.ssh/config

然后进行克隆。这应该可以正常工作!

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

创建密钥的方式取决于所使用的 ssh 客户端和操作系统。

创建密钥时,您实际上是在创建一个密钥对,其中包含一个私钥和一个公钥。服务器必须知道公钥,服务器才能对您进行身份验证。

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

相关内容

最新更新