我不明白为什么生成的 SSH 公钥文件ssh-keygen
在其末尾有一个用户和主机。
示例:id_rsa.pub
ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain
注意root@mydomain
文件末尾的 。
如果我可以在任何地方使用公钥与任何用户一起使用我的私钥进行身份验证,那么 root@mydomain 在身份验证过程中有什么意义?
或者它只是一个占位符来确定我们是谁发布的?
我不明白为什么生成的 SSH 公钥文件ssh-keygen
在其末尾有一个用户和主机。
示例:id_rsa.pub
ssh-rsa ... rest of file ... /CA9gyE8HRhNMG6ZDwyhPBbDfX root@mydomain
注意root@mydomain
文件末尾的 。
如果我可以在任何地方使用公钥与任何用户一起使用我的私钥进行身份验证,那么 root@mydomain 在身份验证过程中有什么意义?
或者它只是一个占位符来确定我们是谁发布的?
该字段是注释,可以随意更改或忽略。
user@host
默认情况下,它设置为ssh-keygen
。OpenSSH
sshd(8)
手册页描述了公钥的格式,因此:ssh-keygen(1)
手册页说:sshd(8)
这在手册页中有关授权密钥的部分中进行了简要说明:在
openssh
授权密钥的上下文中,只有注释的含义。但是有 SSH 实现,它赋予这部分含义,例如 LANCOM 调制解调器中的 SSH 实现使用此注释作为密钥有效的用户名。正如其他人指出的那样,这是一个注释,可让您识别哪个键是哪个键。
例如,在查看单个键时,
id_rsa.pub
它并没有太大的区别,但是在查看可能很长的键列表时,例如您在authorized_keys
文件中的内容,能够轻松识别哪个键非常有帮助是哪个。此外,
ssh-keygen
的默认值是user@hostname
,对于典型的用例,它是它是哪个键的明确标识符(user@domain
不会是)。非常非常简单:我和你是使用机器的人类。所以看看你发布的这个例子:
机器可以读取:
人类可以阅读此评论:
人们往往会忘记,即使计算机系统上的事情看起来很复杂,但如果代码只是为机器使用而设计的,它们实际上可能要复杂得多。我的意思是查看模糊的恶意软件代码。一旦你解码并格式化它,它就可以被人类阅读。但是有人不得不竭尽全力使人类难以阅读。
默认情况下,计算机系统上的所有类型的编码和配置文件都是供人类使用的结构,因为……我们是使用机器的人类,而机器不需要以下内容:
所以评论是给你和我的,而不是其他人。它很可能会在没有评论的情况下工作。但是有一次在凌晨 3:00 出现问题,而您正在寻找正确的公钥,您会希望/梦想/祈祷评论在那里。