我已经使用 ssh-keygen 生成了 ssh 密钥对。id_rsa.pub 文件如下所示:
ssh-rsa someLettersAndNumbersABC123 username@host
主机部分让我很困扰。目前它来自路由器。但无论我在哪里,无论路由器给我的主机名是什么,我都想使用该密钥。简单地删除用户名后面的所有内容是否安全?这样做可行吗?
如果密钥依赖于客户端的主机名,那么一旦我禁用纯密码验证,我就无法添加另一个密钥(或根本无法连接)。
答案1
您的公钥文件的格式为
<keytype> <base64-encoded key> <comment>
对于协议版本 2,密钥类型为ecdsa-sha2-nistp256
、
ecdsa-sha2-nistp384
、ecdsa-sha2-nistp521
、ssh-ed25519
或ssh-dss
,ssh-rsa
且注释字段根本不用于任何用途(但可能方便用户识别密钥)。
因此您可以保留它、更改它或删除它而不会产生任何后果。
在 authorized_keys 文件中使用你的公钥时,格式为:
<options> <keytype> <base64-encoded key> <comment>
其中选项可以留空,但可用于对使用该特定密钥对授予的访问级别添加限制。
由于该注释没有实际用途,因此 authorized_keys 文件中使用的注释也可能与您在 id_rsa.pub 文件中使用的注释不同。