识别 .ssh/known_hosts 中的条目?

识别 .ssh/known_hosts 中的条目?

有没有办法识别 中的每个条目.ssh/known_hosts?在与多台机器建立连接后,我现在发现该文件中有许多条目。一些条目来自连接到不再存在的虚拟机。所有这些条目看起来有点像:

|1|ULDIElsaflkauvi83nlakfd83ölkjdsflLJDLJF389==
|1|UDkkenm88fKNDK8NDKLJh8393lLDf8adfadrlj32rl==
|1|MEUdiyf882nflLld89200KDLj8D8323kljhnLIDKJL==

有没有办法知道哪个条目适用于哪个客户端?

答案1

您在 ssh_config 文件中将 HashKnownHosts 设置为“是”,因此主机名不能以纯文本形式提供。

如果您提前知道要查找的主机名,则可以使用以下命令进行搜索:

ssh-keygen -H -F hostname

以下是 ssh-keygen(1) 手册页中的相关部分:

-F hostname 在 known_hosts 文件中搜索指定的主机名,列出找到的任何匹配项。此选项可用于查找散列主机名或地址,也可与 -H 选项结合使用,以散列格式打印找到的密钥。

例如

ssh-keygen -H -F github.com

将会输出相应的known_hosts条目。如果没有输出,则表示该主机在你的文件中没有条目。

相关内容