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

Posted

技术标签:

【中文标题】ssh-keygen - 如何使用特定用户名设置 rsa 密钥【英文标题】:ssh-keygen - how to set an rsa key with a certain username 【发布时间】:2011-09-24 19:56:12 【问题描述】:

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

ssh-rsa AA...yBEz3pLL georgemauer@ubuntu

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

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

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

【问题讨论】:

我想知道你的代表怎么会在这里发布这样一个离题的人;) @George 煮咖啡也是一项非常常见的开发者活动。 @Eugene true 但您认为哪个 stackexchange 网站与此更相关?服务器故障?这不是常见的系统管理员活动。程序员?这不是理论上的,这是一个我该怎么做的问题。超级用户?也许吧,但同样,这是开发人员普遍关心的问题,而我想其他人也很少遇到这种问题。 @George 对我来说它看起来像一个 superuser.com。 我的反应和尤金一样。一个非常离题的帖子,尤其是对于拥有近 10k 名声的人。 【参考方案1】:

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

【讨论】:

非常感谢,小写-c改评论【参考方案2】:

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

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

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

文档:

ssh-keygen 默认会以 OpenSSH 特定格式写入密钥。 这种格式是首选,因为它为密钥提供了更好的保护 休息以及允许存储密钥 cmets 在私钥文件本身中。 关键注释可能有助于识别关键评论初始化为 ``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

【讨论】:

【参考方案3】:
ssh-keygen -t rsa -f ~/.ssh/[KEY_FILENAME] -C [USERNAME]

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

【讨论】:

以上是关于ssh-keygen - 如何使用特定用户名设置 rsa 密钥的主要内容,如果未能解决你的问题,请参考以下文章

如何在TortoiseGit中使用ssh-keygen生成的key

如何在TortoiseGit中使用ssh-keygen生成的key

如何设置用户只编辑和访问特定的数据库表? [关闭]

如何生成SSH key

如何使用ssh-keygen生成key

ssh-keygen的使用方法