提问者:小点点

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


我正在尝试在我的web主机上创建git存储库,并在我的计算机上克隆它。以下是我所做的:

  1. 我在远程服务器上创建了一个存储库

然后,在尝试运行命令git clone之后ssh://user@存储库的主机/路径,我收到一个错误:

无法与XX协商。XXX。XX。二十: 未找到匹配的主机密钥类型。他们的提议:ssh dss致命:无法从远程存储库读取<请确保您拥有正确的访问权限,并且存储库存在。

那是什么意思?


共3个答案

匿名用户

默认情况下,最新的openssh版本不推荐使用DSA密钥。您应该建议GIT提供商添加一些合理的主机密钥。仅仅依靠数字减影血管造影不是一个好主意。

作为一种解决方法,您需要告诉您的ssh客户端您想要接受DSA主机密钥,如遗留使用的官方留档中所述。您几乎没有可能,但我建议将这些行添加到您的~/. ssh/config文件中:

Host your-remote-host
    HostkeyAlgorithms +ssh-dss

另一种可能性是使用环境变量GIT_SSH来指定这些选项:

GIT_SSH_COMMAND="ssh -oHostKeyAlgorithms=+ssh-dss" git clone ssh://user@host/path-to-repository

匿名用户

您还可以在ssh行中添加-oHostKeyAlgorithms=ssh dss

ssh -oHostKeyAlgorithms=+ssh-dss user@host

匿名用户

对我来说,这很管用:(添加到.ssh\config中)

Host *
HostkeyAlgorithms +ssh-dss
PubkeyAcceptedKeyTypes +ssh-dss