ssh-keyscan不会显示DSA ssh-dss密钥

我使用ssh-keyscan来获取几个SSH服务器的公钥。 我的一个设备只支持DSA / ssh-dss。 使用“-t dsa”选项的ssh-keyscan不能获取公钥,而Nmap脚本ssh-hostkey实际上能够获得它。

SSH-键扫描:

weberjoh@nb15-lx:~$ ssh-keyscan -t dsa ssg-mgmt # ssg-mgmt:22 SSH-2.0-NetScreen 

NMAP

 weberjoh@nb15-lx:~$ nmap --script ssh-hostkey ssg-mgmt Starting Nmap 7.01 ( https://nmap.org ) at 2017-10-11 16:00 CEST Nmap scan report for ssg-mgmt (192.168.120.3) Host is up (0.0026s latency). rDNS record for 192.168.120.3: ssg-mgmt.webernetz.net Not shown: 998 filtered ports PORT STATE SERVICE 22/tcp open ssh | ssh-hostkey: |_ 1024 e7:5b:c9:a9:60:60:66:37:d6:90:bd:70:8f:76:e5:41 (DSA) 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 7.28 seconds 

我如何使用ssh-keyscan显示DSA公钥?

这可能是由于OpenSSH的新版本默认不支持DSA 。 在您的客户端机器上,尝试在~/.ssh/config添加以下内容:

 PubkeyAcceptedKeyTypes=+ssh-dss 

另外请记住,DSA密钥可能不太安全 ,所以如果可能的话,您应该考虑在您的服务器上replace它们。