在计算机之间复制 known_hosts 吗?

在计算机之间复制 known_hosts 吗?

使用 OpenSSH_5.9p1 OpenSSL 1.0.1 连接到服务器,它存储以下格式的 .ssh/known_hosts:

|1|wwwwwwwwwwwwwww=|wwwwwwwwww= ecdsa-sha2-nistp256 AAAAAAAAAA+AAAAA=

然后将该 known_hosts 文件复制到另一台运行 OpenSSH_4.5p1 OpenSSL 0.9.8d 的 PC,它会显示“无法建立真实性,您确定要继续连接吗”消息,就好像 known_hosts 文件不正确一样。

当第二台 PC 存储同一台服务器的 known_hosts 时,它会以以下格式写入:

[10.2.3.4]:22 ssh-rsa AAAAAAAAAA/BBBBB/CCCCCC//DDDDDD

有没有办法在这两种格式之间进行转换?

答案1

您的第一个示例包含一个 ECDSA 密钥(ecdsa-sha2-nistp256),它是在 OpenSSH 5.7 中引入的。

OpenSSH 4.5 仅支持 RSA 和 DSA 密钥(ssh-rsassh-dss),并且忽略您的 known_hosts 条目。

答案2

您拥有的第一个密钥格式是散列格式,旨在防止侵入您帐户的人知道他/她可以使用您的密码和/或 SSH 密钥连接到哪些其他主机。

可以将纯文本格式转换为哈希格式,但不能反过来。网上有各种用于此目的的脚本。

如果你不太担心这个问题,那么你可以随时添加

HashKnownHosts no

禁用~/.ssh/config哈希known_hosts。请参阅ssh_配置(5)了解更多详情。

相关内容