我有一些服务器是的,其他一些没有在这里(我今天才发现这个选项)。
HashKnownHosts的优点在于,我可以更轻松地维护known_hosts文件。
使用HashKnownHosts的事实优势是什么?
known_hosts文件代表一个小的安全风险。 它包含您连接的所有服务器的便利列表。 获得密码或未encryption私钥的攻击者只需要遍历列表,直到您的凭证被接受。 散列可以解决这个问题,至less可以混淆列表。
使用明文known_hosts
,攻击者将很容易知道你连接的服务器。 有一篇关于使用可读的known_hosts
的可能的ssh蠕虫的MIT文章 。 当然,通常还有其他更麻烦的方法来确定攻击者可以使用的每日sshlogin,例如shell历史logging。
请注意,您仍可以使用ssh-keygen
实用程序使用散列化的known_hosts
:
ssh-keygen -F myhost # shows myhosts's line in the known_hosts file ssh-keygen -l -F myhost # additionally shows myhost's fingerprint ssh-keygen -R myhost # remove myhost's line from known_hosts
这个,特别是最后一个命令,应该足以满足99%的用户真正需要访问known_hosts
。 当然,您将会丢失ssh主机标签的完成。
另请注意, ssh-keygen
的命令行选项区分大小写
unix.SE上也有一个相关的问题 。