将公钥添加到 known_hosts 文件

Phi*_*ort 11 openssh

我已经ssh_host_ecdsa_key.pub从另一台机器上下载了 ECDSA 公钥 ( )。我想known_hosts在通过 SSH 连接到本地文件之前将密钥添加到我的本地文件中。如何手动执行此操作(不比较屏幕上的 MD5 哈希值)?

我在本地机器上运行 Ubuntu 15.04。

Jak*_*uje 10

手册页sshd(8)描述了known_hosts文件的格式:

这些文件中的每一行都包含以下字段:标记(可选)、主机名、位、指数、模数、注释。字段由空格分隔。

如果您的主机公钥如下所示:

ssh-rsa AAAA1234.....=
Run Code Online (Sandbox Code Playgroud)

所以只需将此行放入您的~/.ssh/known_hosts文件中:

your.host.name,0.0.0.0 ssh-rsa AAAA1234.....=
Run Code Online (Sandbox Code Playgroud)

您将在其中为您的主机交换主机名和 IP。

现在这取决于您是否打开了ssh选项HashKnownHosts。如果没有,你就完成了。否则(例如在当前的 Ubuntu 版本上)您将需要使用 .hash 散列此文件ssh-keygen -H -f ~/.ssh/known_hosts

  • @wheeler 将其按原样插入已知主机。等号只是base64编码的填充。 (2认同)