问题是我和我的兄弟都从事编程工作,我们刚刚了解了GitHub(以及类似的存储库站点),但是我们家里只有一台计算机,所以我的问题是:
是否可以为2个(或更多)GitHub帐户使用2个(或更多)ssh密钥?
如果我在GitHub上有2个帐户,并且在两个帐户上都创建了一个ssh密钥 第二个帐户的ssh密钥会覆盖第一个帐户的ssh密钥吗?
答案 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配置条目。
步骤:
克隆存储库:git clone repo repo.user2
配置本地用户名:cd repo.user2 && git config user.name user2 && git config user.email user@example.com
为用户2创建备用SSH密钥:ssh-keygen -C "user@example.com" -f ~/.ssh/id_rsa.user2
在〜/ .ssh / config中添加一个部分:
Host github-user2.com
Hostname github.com
User git
IdentityFile ~/.ssh/id_rsa.user2
IdentitiesOnly yes
设置远程URL:git remote set-url origin git@github-user2.com:user/repo.git
现在,您应该可以访问仓库了:git pull