我的 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 以避免这种双重性?
您可以为主机密钥使用别名:
Host <hostname>*
hostname <fqdn>
HostKeyAlias <alias>
Run Code Online (Sandbox Code Playgroud)
您的密钥将作为“别名”而不是“主机名”保存到 known_hosts,无论是短还是长,缺点是您必须为每个主机编写一个条目。
请注意第一行主机名后面的“*”,它是匹配短主机名和长主机名所必需的。