我正试图在我的网络主机上创建一个git存储库,并在我的计算机上复制它。我所做的是:
ssh-keygen -t dsa
。~/.ssh
中的服务器公钥。然后,在尝试运行命令git clone ssh://user@host/path-to-repository
之后,我得到了一个错误:
无法与XX.XXX.XX.XX协商:没有找到匹配的主机密钥类型。他们的报价: ssh-dss 致命:无法从远程存储库读取。 请确保您有正确的访问权限和存储库存在。
那是什么意思?
发布于 2015-12-10 10:29:55
默认情况下,最近的openssh版本默认不推荐DSA密钥。您应该建议您的GIT提供程序添加一些合理的主机密钥。仅仅依靠DSA并不是个好主意。
作为解决办法,您需要告诉您的ssh
客户端,您希望接受遗留使用的正式文档主机密钥,如遗留使用的正式文档中所描述的那样。您几乎没有什么可能,但我建议将这些行添加到您的~/.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
发布于 2016-05-11 04:56:25
您还可以在ssh行中添加-oHostKeyAlgorithms=+ssh-dss
:
ssh -oHostKeyAlgorithms=+ssh-dss user@host
发布于 2016-07-12 02:00:33
对我来说,这是有效的:(添加到.ssh\config
中)
Host *
HostkeyAlgorithms +ssh-dss
PubkeyAcceptedKeyTypes +ssh-dss
https://stackoverflow.com/questions/34208495
复制