如何在同一台笔记本电脑的 github 帐户上再次使用相同的 ssh 公钥?

sim*_*ple 2 git ssh github ssh-keys

我用我的电脑做很多不同的事情,正如我\xe2\x80\x99m 确信许多开发人员所做的那样。但我只有一个公共 ssh 密钥,我希望保持这种状态。我有两个 github.com 帐户:一个供个人使用,另一个供我的雇主使用。

\n\n

因此,当我在雇主处使用该帐户时,我\xe2\x80\x99m 尝试像平常一样添加我的 ssh 密钥,方法是单击 \xe2\x80\x9cProfile\xe2\x80\x9d,然后单击 \xe2\x80 \x9cSettings\xe2\x80\x9d,然后 \xe2\x80\x9cssh 和 gpg 密钥\xe2\x80\x9d。然后粘贴 id_rsa.pub 内容,然后单击 \xe2\x80\x9cadd ssh key\xe2\x80\x9d。但它给了我以下内容:

\n\n

\xe2\x80\x9cKey is already in use\xe2\x80\x9d

\n\n

当然,这是因为我将该密钥用于我的个人帐户。如何允许此密钥也用于我的 github 雇主帐户?谢谢。

\n\n

作为额外的询问,我不明白为什么两个不同的帐户使用同一个公钥两次会很重要。这有什么坏处呢?为什么 github 不允许这样做?

\n\n

在主机级别和存储库级别使用不同的 ssh 密钥提交之间似乎存在差异。

\n

Ish*_*iri 5

正如其他人指出的那样,您需要生成两个密钥对。然后,当您需要在个人项目中使用个人密钥时,请按如下方式克隆存储库。

ssh-agent bash -c 'ssh-add /home/<user>/.ssh/personal; git clone git@github.com:user/project.git'
Run Code Online (Sandbox Code Playgroud)

对于雇主项目,克隆如下。

ssh-agent bash -c 'ssh-add /home/<user>/.ssh/employer; git clone git@github.com:user/project.git'
Run Code Online (Sandbox Code Playgroud)

请注意,个人雇主是各自的私钥名称。

完成上述克隆后,您无需担心密钥。Git 将使用您克隆存储库的 SSH 密钥来对该存储库进行所有未来操作。