验证旧格式的主机密钥指纹

验证旧格式的主机密钥指纹

OpenSSH 主机密钥指纹的显示格式最近在版本 6.7 和 6.8 之间发生了变化。连接到新主机时,消息现在如下所示:

user@desktop:~$ ssh 10.33.1.114
The authenticity of host '10.33.1.114 (10.33.1.114)' can't be established.
ECDSA key fingerprint is SHA256:9ZTSzJsnk0byQRs24iKoYrf/d5eDvQL60tR/zO41k/I.
Are you sure you want to continue connecting (yes/no)?

在远程主机上server(我通过第三台机器到达,我之前使用旧客户端接受了密钥),我可以看到指纹

user@server:~$ ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key
256 a2:7e:2b:87:4c:47:69:16:78:9e:1a:4b:db:a7:a2:57  root@server (ECDSA)

但没有办法将这两者匹配起来。

ssh如果我在 上安装旧版本desktop,并首先使用它进行连接,我会看到

user@desktop:~$ ssh 10.33.1.114
The authenticity of host '10.33.1.114 (10.33.1.114)' can't be established.
ECDSA key fingerprint is a2:7e:2b:87:4c:47:69:16:78:9e:1a:4b:db:a7:a2:57.
Are you sure you want to continue connecting (yes/no)?

匹配,所以我可以安全地接受它,并且它被添加到我的~/.ssh/known_hosts.然后新版本ssh也接受它。但这需要我sshdesktop.

关于服务器指纹的另一个问题的答案,我了解到旧的表格可以显示为ssh-keygen -E md5,而新的表格可以显示为-E sha256。但该选项仅在 SHA256 成为默认值时才出现 - on-E的版本只能显示 MD5。要查看我信任的密钥的 SHA256 指纹,我首先必须检索它(例如通过第三台机器)并将其放在较新的机器可以找到的地方。或者我必须在. (对于 来说意味着完全不同的东西。)ssh-keygenserverssh-keygenssh-keygenserver-Essh

如何以相同的格式显示两个密钥(我信任的密钥和我所看到的密钥)?最好不要安装额外的版本,或者复制关键文件?

答案1

使用

ssh -o FingerprintHash=md5 10.33.1.114

md5从客户端获取旧指纹。

相关内容