披露SSHknown_hosts文件是否存在安全风险?


32

我将在下周的一次会议上发表有关我创建的一些软件工具的演讲。在演示过程中,我的笔记本电脑将显示在投影仪屏幕上。该演示文稿将被录像并发布在youtube上。如果由于某种原因~/.ssh/known_hosts在演示过程中有机会打开和编辑文件,我是否应该在断开投影机的连接的同时断开它的连接?公开我的known_hosts文件是否存在安全风险?


7
为什么不在known_hosts演示过程中简单地用假冒的物品代替您的实际物品?
斯文

1
...或者如果您不首先检查主机指纹,请使用类似ssh -oUserKnownHostsFile=/dev/null -oStrictHostKeyChecking=no user@host绕过指纹问题的方法,并避免对现有的known_hosts进行检查。
Lekensteyn

@Svenknown_hosts文件本身并不是演示文稿的一部分,只是我偶尔要演示的软件需要我编辑我的known_hosts。听众不需要看到它(因此,我将使用盲注编辑,如这里的一些评论者所建议),但是编辑伪造的known_hosts文件根本无法实现我的目标。
Matt Korostoff 2015年

Answers:


43

known_hosts文件包含您过去连接到的主机的受信任公共密钥。可以通过尝试连接到这些主机来简单地获取这些公共密钥。因此,它本身就没有安全风险。

但是:它包含您连接到的主机的历史记录。例如,潜在的攻击者可以使用该信息来覆盖组织基础结构。它还会通知潜在的攻击者您可能有权访问某些主机,并且窃取笔记本电脑也会为他们提供访问权限。

编辑:为避免显示您的known_hosts文件,我建议您使用该ssh-keygen实用程序。ssh-keygen -R ssh1.example.org例如,ssh1.example.org从您的known_hosts中删除受信任的密钥。


15

没有什么特别危险的。但是,您可能不希望透露此标识信息。有时候,主人的存在对那些倾向于的人揭示了良好的进攻路线。您可以使用HashKnownHosts,也可以编辑文件而无需查看它。


盲编辑:
sed -i 25d .ssh/known_hosts将删除第25行而不在屏幕上放置任何内容。

HashKnownHosts
指示ssh(1)在将主机名和地址添加到〜/ .ssh / known_hosts时,应对主机名和地址进行哈希处理。ssh(1)和sshd(8)可以正常使用这些哈希名称,但是如果公开文件的内容,它们不会显示标识信息。默认为“否”。请注意,已知主机文件中的现有名称和地址不会自动转换,但可以使用ssh-keygen(1)手动进行哈希处理。


4
您也可以使用代替手动计算行号并使用sed删除它ssh-keygen -R example.com
Lekensteyn 2015年

4
您也可以使用ssh-keygen -H -f ~/.ssh/known_hosts散列文件中的所有名称/地址。
Barmar 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.