28

我刚刚安装了 ubuntu,想用 bitbucket/github 设置它的 rsa 密钥。当我 ssh-keygen 生成密钥时,它们应该是

ssh-rsa AA...yBEz3pLL georgemauer@ubuntu

除了用户名部分之外,这是完全可用的。在我之前生成的每个 rsa 密钥中,用户名部分都会读取我的电子邮件地址:

ssh-rsa AA...yBEz3pLL gmylastname@gmail.com

不,这不是一个主要的障碍,但如果我没有做到这一点,它会让我发疯。如何使用带有我选择的电子邮件用户名的 rsa 密钥生成?

4

3 回答 3

38

使用该-C选项为您的密钥提供新评论。

于 2011-06-29T04:07:15.320 回答
11

说明:通常,您的 ssh 公钥中的最后一个字符串将是一个注释,默认配置为您的user@host. 您可以通过添加参数来覆盖此注释-C并编辑此字符串。

例如在默认行为中,假设 - 如果您的 linux 主机名是Ubuntu 并且您的用户名是john.doe当您观看您的公钥执行cat ~/.ssh/id_rsa.pub时,您会看到如下内容:

ssh-rsa <someReallyBigToken>== john.doe@ubuntu

文档:

ssh-keygen默认会以 OpenSSH 特定的格式写入密钥。这种格式是首选,因为它为静态密钥提供了更好的保护,并允许在私钥文件本身中存储密钥注释。 关键注释可能有助于识别关键创建密钥时,注释被初始化为 ``user@host'',但 可以使用 -c 选项进行更改。

解决方案:覆盖此评论并使用-C参数进行评论。

ssh-keygen -t rsa -b 4096 -C message-in-a-bottle
cat ~/.ssh/id_rsa.pub

// output:
ssh-rsa <someReallyBigToken>== message-in-a-bottle
于 2020-10-05T13:30:09.387 回答
3
ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]

我使用此命令生成 ssh 密钥以生成 github、gitlab 和 GCP。 是使用用户名创建 ssh 密钥的文档。

于 2021-01-19T20:24:47.667 回答