在没有注释的情况下跟踪 SSH 私钥

Fro*_*101 5 ssh rsa openssl private-key

SSH 公钥支持注释(仅由附加到密钥末尾的文本组成),这使得识别其​​他无法识别的 id_rsa.pub 文件变得容易。您可以使用注释来存储信息,例如密钥属于谁、创建时间以及用于什么机器。

私钥似乎缺少此功能。ssh-keygen -C comment将生成一个密钥对,将注释附加到公钥,但私钥将保持未注释。ssh-keygen有一个-c论点“请求更改私钥和公钥文件中的注释”,但是

root@kitsune:~# ssh-keygen -c -f id_rsa
Comments are only supported for RSA1 keys.
Run Code Online (Sandbox Code Playgroud)

所以看起来 SSH2 私钥格式没有注释字段。只要将这对密钥放在一起并放在正确的位置,这通常没问题,但是文件可能会被复制和移动(这可能发生在帐户/机器共享密钥时)或意外覆盖,并且它们都有相同的名称(id_rsa),因此您可能会忘记哪个键是哪个。在没有评论的情况下,保持私钥有条理的最佳做法是什么?

Jak*_*uje 2

将私钥与公钥一起存储使您有机会使用下面的命令查看存储在公共部分中的注释,但我发现这不是您想要的。无法在密钥本身中存储注释(正如您已经提到的)。

$ ssh-keygen -lf ~/.ssh/id_rsa
2048 SHA256:abcdef[...] [comment] (RSA)
Run Code Online (Sandbox Code Playgroud)

文件可以被复制和移动

这实在是个坏主意。您不希望您的私人数据四处移动。在理想情况下,您连接的每台设备都应该有一对密钥。如果您在客户端上需要更多密钥,我会使用不同的命名,例如id_rsa-private-github(对公共部分进行适当的命名)。~/.ssh/config通过和/或中的正确配置ssh-agent,此设置没有缺陷。