SSH返回:找不到匹配的主机密钥类型。他们的报价:ssh-dss


80

我习惯于在Windows盒子或OSX命令行终端上使用Putty SSH进入NAS,而无需对客户端进行任何配置。

Ubuntu 16.04尝试通过LAN SSH进入NAS:

ssh root@192.168.8.109

Unable to negotiate with 192.168.8.109 port 22: no matching host key type found. Their offer: ssh-dss
  1. 这个结果/回应是故意的吗?
  2. 是否有简单的更正可以通过SSH访问NAS?

.pem在Windows计算机上没有任何SSH私钥()文件,对吗?
Android Dev

Windows
机器

1
您的NAS不会恰好是Western Digital EX系列吗?:)
Adam Plocher

这是一个MyCloud设备:希望以某种方式澄清
gatorback

Answers:


138

16.04中包含的OpenSSH版本禁用ssh-dss。有一个整齐的页面,其中包含包含此问题的旧版信息:http : //www.openssh.com/legacy.html

简而言之,您应该将选项添加-oHostKeyAlgorithms=+ssh-dss到SSH命令:

ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.8.109

您还可以在其中添加主机模式,~/.ssh/config这样就不必每次都指定密钥算法:

Host nas
  HostName 192.168.8.109
  HostKeyAlgorithms=+ssh-dss

这具有额外的好处,您无需输入IP地址。相反,ssh它将识别主机nas并知道连接到哪里。当然,您也可以使用其他任何名称。


我相信这些是Ubuntu方面的解决方案。NAS端是否有一个简单的选择?理解所有选项并抓住机会加强任何安全漏洞将是非常高兴的。也许这是另一个线程的另一个问题?很好的解释\回应
gatorback '16

是否可以全局设置?喜欢通配符IP?0.0.0.0不起作用
podarok

2
@podarok,尝试Host *
布朗

10

最好编辑〜/ .ssh / config文件。如果在同一子网上有多个主机要连接,则可以使用以下方法来避免在文件中输入每个主机:

 Host 192.168.8.*
  HostKeyAlgorithms=+ssh-dss

这对我来说非常有用,因为我需要管理许多Brocade交换机,在我移至Ubuntu 16.04之后,他们开始抱怨主机密钥。


6

如果要使用较新的OpenSSH连接到不赞成使用的服务器:

ssh -o KexAlgorithms=diffie-hellman-group14-sha1 -oHostKeyAlgorithms=+ssh-dss my.host.com

如果要查看正在发生的情况,请添加-v;如果仍然不起作用,请添加-o HostKeyAlgorithms = ssh-dss:

ssh -v -o HostKeyAlgorithms=ssh-dss -o KexAlgorithms=diffie-hellman-group14-sha1 my.host.com

当然,您还可以编辑/ etc / ssh / ssh_config或〜/ .ssh / ssh_config并添加:

Host my.host.com *.myinsecure.net 192.168.1.* 192.168.2.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1    

https://forum.ctwug.za.net/t/fyi-openssh-to-access-rbs-openssh-7/6069提到了Mikrotik路由器板上的以下修复程序:

/ip ssh set strong-crypto=yes

(在此注意这一点,因为当寻找类似的错误消息时,此答案也会出现在网络搜索中。)


它应该是-o KexAlgorithms = diffie-hellman-group1-sha1(不是14)
dalf

这取决于... $ ssh -Q kex服务器diffie-hellman-group1-sha1 diffie-hellman-group14-sha1 diffie-hellman-group-exchange-sha1 diffie-hellman-group-exchange-sha256 ecdh-sha2-nistp256 ecdh- sha2-nistp384 ecdh-sha2-nistp521 curve25519-sha256@libssh.org
Dagelf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.