ssh-keygen - 如何使用特定用户名设置rsa密钥

Geo*_*uer 13 linux ssh ubuntu rsa ssh-keys

我刚刚安装了ubuntu,并希望用bitbucket/github设置其rsa密钥.当我使用ssh-keygen时,密钥会按原样生成

ssh-rsa AA...yBEz3pLL georgemauer@ubuntu
Run Code Online (Sandbox Code Playgroud)

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

ssh-rsa AA...yBEz3pLL gmylastname@gmail.com
Run Code Online (Sandbox Code Playgroud)

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

dat*_*age 18

使用该-C选项可以使用您的密钥提供新评论.

  • 非常感谢,小写`-c`更改评论 (2认同)

Sad*_*lam 16

ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]
Run Code Online (Sandbox Code Playgroud)

我使用此命令生成 SSH 密钥,以生成 GitHub、GitLab 和 GCP。 以下是使用用户名创建 SSH 密钥的文档。


avi*_*amg 7

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

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

ssh-rsa <someReallyBigToken>== john.doe@ubuntu
Run Code Online (Sandbox Code Playgroud)

文档:

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
Run Code Online (Sandbox Code Playgroud)