题 可以在密钥对中更改电子邮件地址吗?


我创建了一个用于SSH的RSA密钥对,它包含了我的电子邮件地址。 (在公钥的末尾。)

我现在已经改变了我的电子邮件地址。

是否可以更改密钥上的电子邮件地址,或者它是密钥的一部分,我必须创建一个新密钥?


113
2017-09-07 23:12






答案:


我创建了一个用于SSH的RSA密钥对,它包含了我的电子邮件地址。 (在公钥的末尾。)

ssh键的那一部分只是一个评论。您可以随时将其更改为您想要的任何内容。它甚至不需要在不同的服务器上相同。你也可以删除它。只有当您在authorized_keys文件中有许多密钥并且需要撤销或更改其中一个密钥时,它才能帮助您或其他人找出要删除的内容。

ssh-rsa AAAAB3N....NMqKM= this_is_a_comment

当我使用ssh-keygen创建我的密钥时,我通常使用这样的命令来设置不同的注释。我不认为username @ host非常有用。您当然可以将任何您喜欢的评论用于您和任何其他管理员,以帮助确定密钥属于谁。

ssh-keygen ... -C YYYYMMDD_surname_givenname

144
2017-09-07 23:17



很高兴我不需要改变我的钥匙...... - Ram Rachum
我很高兴地意识到我不需要使用我的电子邮件地址。知道你为什么要在键上添加评论吗?也许我可以放弃使用它而不是我的电子邮件的网站。 - leetNightshade
好吧,我希望(要求)对我的系统发表评论,因为有8个网络技术人员和大量使用密钥进行自动化任务的系统。我的典型authorized_keys文件中有10-15个键。人们可以通过评论来识别每个键所属的内容。无论如何,评论是为了使密钥更容易管理。您可以随意使用它们。 - Zoredache
由于评论始终是最后一项 authorized_keys 文件,允许使用空格,因此您不需要使用下划线。 - IQAndreas
@IQAndreas你当然是对的,但我也在其他几个重要的地方使用这个评论。例如,我的注释名称与我的密钥的文件名相同,因为它存储在我的/.ssh目录中。我知道文件中也允许使用空格,但是不使用它们可以更容易地从cli引用我的文件。 - Zoredache


您可以使用更改RSA1键的注释 ssh-keygen -c

来自ssh-keygen手册页:

 -c      Requests changing the comment in the private and public

关键文件。此操作仅支持RSA1密钥。该   程序将提示输入包含私钥的文件   密码如果密钥有一个密码,并且用于新评论。

因此,要更改位于的键的注释 ~/.ssh/some_key,使用以下命令:

ssh-keygen -c -f ~/.ssh/some_key -C "my new comment"

在哪里 -f 选项后跟您要更改的键,以及 -C 之后是新评论。


13
2017-09-07 23:33



ssh-keygen -c -f id_foo 回报 Comments are only supported for RSA1 keys. - Edward Falk
+1,这也适用于OpenSSH ed25519键。 ed25519密钥完全是Base64编码的。无法使用文本编辑器删除注释。 - jww


OpenSSH 6.5 适用于所有关键类型,而不仅仅是RSA1:

ssh-keygen -f ~/.ssh/keyfilename -o -c -C "here goes your comment"

命令选项解释:

  • -f:私钥文件
  • -o:将私钥从PEM转换为新的OpenSSH格式
  • -c:更改私钥和公钥文件中的注释
  • -C:评论文字

也可以看看: ssh-keygen(1) 手册页(当前)


5
2018-05-06 14:08



谢谢@AntoineCotten - 将使用您的编辑作为未来答案的参考。 :-) - LIttle Ancient Forest Kami