保持跟踪SSH私钥没有评论

SSH公共密钥支持注释(仅仅由附加在密钥末尾的文本组成),这使得识别一个不可识别的id_rsa.pub文件变得很容易。 您可以使用注释来存储信息,例如密钥的属性,创build时间以及使用的机器等信息。

私钥似乎缺less此function。 ssh-keygen -C comment将会生成一个密钥对,注释会附加到公钥上,但私钥将保持不注释状态。 ssh-keygen有一个-c参数,“请求改变私钥和公钥文件中的注释”,但是

 root@kitsune:~# ssh-keygen -c -f id_rsa Comments are only supported for RSA1 keys. 

所以看起来SSH2私钥格式没有注释字段。 只要把这对钥匙放在一起并保留在正确的位置,这种做法基本上没有问题,但是这些文件可以被复制和移动(这可能发生在帐户/机器共享密钥时)或者意外覆盖,而且它们都有同名(id_rsa),所以可以跟踪哪个键是哪个。 在没有评论的情况下,保持私钥有组织的最佳做法是什么?

使用公共密钥存储私钥使您可以使用下面的命令查看存储在公共部分中的注释,但是我看到它不是您想要的。 没有办法将注释存储在密钥本身中(如您已经提到的)。

 $ ssh-keygen -lf ~/.ssh/id_rsa 2048 SHA256:abcdef[...] [comment] (RSA) 

文件可以被复制和移动

这真是个坏主意。 你不想让你的私人数据移动。 在理想的情况下,您应该从每个设备连接一个密钥对。 如果你在客户端需要更多的密钥,我会用不同的命名,比如id_rsa-private-github (以及公共部分的适当命名)。 在~/.ssh/config和/或ssh-agent适当的configuration,在这个设置中没有任何缺陷。