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

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

是否可以更改密钥上的电子邮件地址?钥匙的一部分,我将不得不制作一个新钥匙?

#1 楼


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


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

ssh-rsa AAAAB3N....NMqKM= this_is_a_comment


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

ssh-keygen ... -C YYYYMMDD_surname_givenname


评论


很高兴我不必更改我的钥匙...

–Ram Rachum
2011年9月7日23:33

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

–leetNightshade
2014年9月5日,下午1:10

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

– Zoredache
2014年9月5日在1:14



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

–IQAndreas
2015年12月8日在16:12

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

– Zoredache
2015年12月8日在17:39

#2 楼

您可以使用ssh-keygen -c来更改RSA1密钥的注释。

来自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通过新评论。

评论


ssh-keygen -c -f id_foo返回仅RSA1密钥支持注释。

–爱德华·福克
15年7月2日在22:29

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

–user145545
18-4-9在5:03



#3 楼

从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-将使用您的编辑作为将来答案的参考。 :-)

– LAFK说恢复莫妮卡
18年6月2日在14:46