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


133

我创建了用于SSH的RSA密钥对,其中包括我的电子邮件地址。(在公共密钥的末尾。)

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

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

Answers:


170

我创建了用于SSH的RSA密钥对,其中包括我的电子邮件地址。(在公共密钥的末尾。)

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

ssh-rsa AAAAB3N....NMqKM= this_is_a_comment

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

ssh-keygen ... -C YYYYMMDD_surname_givenname

5
很高兴我不必更改我的钥匙...
Ram Rachum 2011年

我很高兴意识到我不需要使用我的电子邮件地址。知道为什么要在键中添加注释吗?也许我可以摆脱使用它的网站而不是我的电子邮件。
leetNightshade 2014年

好吧,我想在系统上发表评论(因为),因为有8位网络技术人员和大量使用密钥执行自动化任务的系统。我典型的authorized_keys文件中有大约10-15个密钥。评论在那里,人们可以识别每个密钥属于什么。无论如何,这些注释都可以使密钥更易于管理。您可以随意使用它们。
Zoredache 2014年

2
由于注释始终是authorized_keys文件中的最后一项,因此允许使用空格,因此您无需使用下划线。
IQAndreas 2015年

@IQAndreas您当然是对的,但是我也在其他几个确实重要的地方使用了该评论。例如,我的注释名称与存储在/.ssh目录中的密钥的文件名相同。我知道文件中也允许使用空格,但是不使用空格会使从cli引用我的文件更加容易。
Zoredache 2015年

17

您可以使用更改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是新注释。


7
ssh-keygen -c -f id_foo返回Comments are only supported for RSA1 keys.
Edward Falk 2015年

+1,这也适用于OpenSSH ed25519键。ed25519密钥完全采用Base64编码。无法使用文本编辑器删除注释。

11

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)手册页(当前)


谢谢@AntoineCotten-将使用您的编辑作为将来答案的参考。:-)
古森林卡米
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.