一台计算机上可以有2个(或更多)GitHub帐户,2个(或更多)ssh密钥吗?

时间:2019-05-17 22:13:01

标签: git github git-bash ssh-keys

问题是我和我的兄弟都从事编程工作,我们刚刚了解了GitHub(以及类似的存储库站点),但是我们家里只有一台计算机,所以我的问题是:

是否可以为2个(或更多)GitHub帐户使用2个(或更多)ssh密钥?

如果我在GitHub上有2个帐户,并且在两个帐户上都创建了一个ssh密钥 第二个帐户的ssh密钥会覆盖第一个帐户的ssh密钥吗?

4 个答案:

答案 0 :(得分:1)

  

我在两个帐户上都创建了一个ssh密钥

如果您遵循GitHub文档,则应该在本地计算机上创建了两个SSH密钥。然后将公钥上传到GitHub,每个帐户一个。

  

第二个帐户的ssh密钥会覆盖第一个帐户的ssh密钥吗?

否,SSH密钥存储在本地计算机上。当您与GitHub帐户共享某个密钥的公共密钥时,它不会影响其他帐户中的密钥。


对于这种特殊情况,最简单的解决方案是创建两个单独的Windows用户,每个用户都包含自己的GitHub凭据。

答案 1 :(得分:0)

$ HOME / .ssh / config

Host dev
    HostName dev.example.com
    Port 22000
    User fooey
Host github.com
    IdentityFile ~/.ssh/github.key

https://www.ssh.com/ssh/config/

否则,两个用户都使用相同的ssh密钥...

答案 2 :(得分:0)

更实际的答案:

只需为两个帐户使用相同的密钥。

由于同一个人(您)正在使用两个帐户,因此使用不同的密钥没有任何优势。

ssh密钥用于标识,两个帐户的身份就是您...

您可以将一个ssh密钥用于数百个帐户,只需确保您的私钥是安全的并且受密码保护即可。

答案 3 :(得分:0)

我在此SO answer中找到了解决方案。基本上,您可以有多个用户使用多个git(GitHub / GitLab)帐户,每个帐户都有自己的SSH密钥,但是您需要两个单独的存储库克隆,将第二个存储库配置为使用另一个git用户名和另一个主机名。主机名不是真实的,它只是使用备用SSH密钥对的SSH配置条目。

步骤:

  1. 克隆存储库:git clone repo repo.user2

  2. 配置本地用户名:cd repo.user2 && git config user.name user2 && git config user.email user@example.com

  3. 为用户2创建备用SSH密钥:ssh-keygen -C "user@example.com" -f ~/.ssh/id_rsa.user2

  4. 在〜/ .ssh / config中添加一个部分:

     Host github-user2.com
       Hostname github.com
       User git
       IdentityFile ~/.ssh/id_rsa.user2
       IdentitiesOnly yes
    
  5. 设置远程URL:git remote set-url origin git@github-user2.com:user/repo.git

  6. 现在,您应该可以访问仓库了:git pull