- 很久以前,在一台机器 A 上,我制作了一个 RSA SSH 密钥,并使用该
-C
选项为其附加注释。 - 一段时间后,我不喜欢这个评论。我打开该
~/.ssh/id_rsa.pub
文件并用新注释替换了最后一列。 - 现在我正在设置对机器 B 的身份验证,并且我曾经将
ssh-copy-id
密钥复制到这台机器。 - 当我
~/.ssh/authorized_keys
在机器 B 上打开时,我的 RSA 密钥在最后一列中有旧注释。 - 我搜索了机器 A 上的整个内容
~/.ssh
和/etc/ssh
文件夹,但在任何地方都找不到旧评论的单个实例。
我完全被难住了。这几乎就像 SSH 在我不知道的地方嵌入了某种缓存,但后来就变得过时了。
答案1
从评论来看。
关键评论可能位于
- 公钥文件
id_rsa.pub
- 私钥文件
id_rsa
- ssh 代理会话
ssh-add -l
“原始”注释存储在私钥文件中。 (我希望这是在公钥文件被删除的情况下)
您可以使用导出私钥
ssh-keygen -e [-f input_keyfile] [-m key_format]
您可能需要使用-m
选项
-m key_format
Specify a key format for key generation, the -i (import), -e (ex‐
port) conversion options, and the -p change passphrase operation.
The latter may be used to convert between OpenSSH private key and
PEM private key formats. The supported key formats are:
“RFC4716” (RFC 4716/SSH2 public or private key), “PKCS8” (PKCS8
public or private key) or “PEM” (PEM public key). By default
OpenSSH will write newly-generated private keys in its own for‐
mat, but when converting public keys for export the default for‐
mat is “RFC4716”. Setting a format of “PEM” when generating or
updating a supported private key type will cause the key to be
stored in the legacy PEM private key format.
根据版本,您可以使用以下命令更改它:
ssh-keygen -c -C "comment" -f id_rsa
确切的语法来自man ssh-keygen
is
ssh-keygen -c [-C comment] [-f keyfile] [-P passphrase]
如果密钥发生更改并且 ssh-agent 正在使用中,则必须重新导入它。