我正在尝试在我的web主机上创建git存储库,并在我的计算机上克隆它。以下是我所做的:
然后,在尝试运行命令git clone之后ssh://user@存储库的主机/路径,我收到一个错误:
无法与XX协商。XXX。XX。二十: 未找到匹配的主机密钥类型。他们的提议:ssh dss致命:无法从远程存储库读取<请确保您拥有正确的访问权限,并且存储库存在。
那是什么意思?
默认情况下,最新的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