我将我的电脑用于许多不同的事情,因为我相信很多开发者都会这样做。但我只有一个公共ssh密钥,我希望保持这种方式。我有两个帐户用于github.com:一个用于个人用途,一个用于我的雇主。
因此,当我在雇主处使用该帐户时,我正在尝试按照惯例添加我的ssh密钥,方法是单击“配置文件”,然后单击“设置”,然后单击“ssh和gpg密钥”。然后我粘贴我的id_rsa.pub内容,然后单击“添加ssh密钥”。但它给了我以下内容:
“Key is already in use”
当然那是因为我将这个密钥用于我的个人帐户。如何允许此密钥也用于github的雇主帐户?谢谢。
作为一项额外的调查,我不明白为什么重要的是,如果两个不同的帐户使用相同的公钥两次。那有什么害处?为什么github不允许这样做?
在主机级别和repo级别使用不同的ssh密钥之间似乎存在差异。
答案 0 :(得分:2)
正如其他人指出的那样,您需要生成两个密钥对。然后,当您需要在个人项目中使用个人密钥时,请按如下方式克隆回购。
ssh-agent bash -c 'ssh-add /home/<user>/.ssh/personal; git clone git@github.com:user/project.git'
对于雇主项目,克隆如下。
ssh-agent bash -c 'ssh-add /home/<user>/.ssh/employer; git clone git@github.com:user/project.git'
请注意,个人和雇主是相应的私钥名称。
完成上述克隆后,您无需担心密钥。 Git将使用您克隆回购的SSH密钥,以便将来在该回购上执行操作。