避免 ~/.ssh/known_hosts 中的重复条目

Dan*_*dio 6 ssh openssh

我的 DNS 搜索路径设置为“.intranet”,即/etc/resolv.conf包含:

search intranet
Run Code Online (Sandbox Code Playgroud)

当我使用 FQDN(如“mailserver.intranet”)通过 SSH 连接到主机时,它会将“mailserver.intranet”的条目添加到~/.ssh/known_hosts. 如果我稍后通过 SSH 连接到同一主机但使用简单的“邮件服务器”名称,则 SSH 会在 known_hosts 中为“邮件服务器”添加另一个条目。

是否可以让 SSH 始终在 known_hosts 中使用 FQDN 以避免这种双重性?

tri*_*des 5

您可以为主机密钥使用别名:

Host <hostname>*
    hostname    <fqdn>
    HostKeyAlias    <alias>
Run Code Online (Sandbox Code Playgroud)

您的密钥将作为“别名”而不是“主机名”保存到 known_hosts,无论是短还是长,缺点是您必须为每个主机编写一个条目。

请注意第一行主机名后面的“*”,它是匹配短主机名和长主机名所必需的。