ssh-keygen 密钥验证在 OpenBSD 5.7 中发生了变化,如何验证 host_key?

ssh-keygen 密钥验证在 OpenBSD 5.7 中发生了变化,如何验证 host_key?

OpenBSD 的“ssh-keygen -l”输出格式在 5.7 中发生了变化。从旧 ssh 版本连接时如何验证主机密钥?

直到 OpenBSD 5.6,host_keys 指纹输出格式都是这样的:

# ssh-keygen -lf ssh_host_ecdsa_key.pub
256 9d:76:ba:86:80:ef:63:eb:41:2f:13:f3:f4:b5:0b:35  [email protected] (ECDSA)

在 OpenBSD 5.7 中,输出格式已发生改变:

# ssh-keygen -lf ssh_host_ecdsa_key.pub
256 SHA256:6vYsd91sIrtVqPXazpPfRxj9QDa+1+Ns2C2lKSUph3c [email protected] (ECDSA)

从 OpenBSD5.7 ssh 客户端连接到 OpenBSD5.7 sshd 时,可以进行验证:

# ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:6vYsd91sIrtVqPXazpPfRxj9QDa+1+Ns2C2lKSUph3c.
Are you sure you want to continue connecting (yes/no)?

从 OpenBSD 5.6 连接到 OpenBSD 5.7 机器时,如何验证密钥指纹?有没有办法转换输出格式?

答案1

在 OpenBSD 5.7 中,ssh-keygen 使用 SHA256 作为默认指纹哈希。

您正在寻找指纹的 MD5 哈希值:

# ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ecdsa_key.pub

相关内容