为什么 ssh-keyscan -H 的结果包含带有未散列服务器 ID 的标题行?

信息安全 SSH 打开sh
2021-08-16 21:16:25

我正在尝试known_hosts为我的 AWS VPC 构建一个全局文件,并正在考虑在ssh-keyscan创建新服务器时获取它们的指纹。-H选项似乎是明智的,因为这意味着您

如果文件内容被泄露,请勿泄露识别信息

奇怪的是,该命令的输出带有一个有用的标题:

# 1.2.3.4 SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.4

……这似乎有点不合时宜,不是吗?显然我可以很容易地去掉那一点,但是在要求散列之后,我希望输出只包含散列数据。这有什么合乎逻辑的原因,还是一个错误?

1个回答

这有什么合乎逻辑的原因,还是一个错误?

这不是一个错误,它是一个功能。带有注释的行与stderr主机键不同,因此如果您这样做也没问题

ssh-keyscan -H -t rsa host > /your/known_hosts

主机列表将转到您的终端,而不是文件。

例子:

ssh-keyscan -H -t rsa host 2> /dev/null

只会向您显示散列键,而不会显示带有主机名的“评论”。