当我将公共 ssh 密钥添加到服务器时,我注意到密钥文件末尾出现了 .fios-router.home。这是您的计算机名称。为什么会这样?
操作系统 = (Mac OS) SSH 客户端 = (Mac OS 默认)
答案1
因为您的计算机认为这<hostname>.fios-router.home
是系统的完全合格域名。最有可能的是,路由器上的 DHCP 服务器.fios-router.home
在 DHCP 选项中将其作为 DNS 域名分发。不过,您的特定系统最终可能还有其他方式认为如此(如果不是 DHCP 选项,我的第一个猜测是与 mDNS 有关,根据我的经验,macOS 往往过于热衷于信任来自 mDNS 的信息)。
有问题的部分(SSH 密钥信息的最后一部分,第二个空格之后)实际上只是与密钥相关的注释。本质上,它在那里提供一些用户可见的标识符,以便您跟踪密钥。不同的 SSH 客户端在生成密钥时默认将不同的信息放在那里,尽管大多数基于 UNIX 的 SSH 客户端都遵循 OpenSSH 约定,将生成密钥的用户和主机放在那里。
您可以在 OpenSSH(macOS 默认使用的实现)上生成密钥时使用 选项手动覆盖注释字段-C
。ssh-keygen
以下命令应可生成仅使用系统主机名和您的用户名的默认类型的密钥:
ssh-keygen -C "${USER}@$(hostname)"