是否可以在一台计算机上拥有 2 个(或更多)GitHub 个帐户、2 个(或更多)ssh 密钥?
Is it possible to have 2 (or more) GitHub accounts, 2 (or more) ssh key in one computer?
问题是我和我的兄弟都从事编程,我们刚刚了解 GitHub(和类似的存储库站点),但我们家里只有一台计算机,所以我的问题是:
我可以为 2 个(或更多)GitHub 个帐户拥有 2 个(或更多)ssh 密钥吗?
如果我在 GitHub 上有 2 个帐户并且我在这两个帐户上都创建了一个 ssh 密钥
第二个帐户的 ssh 密钥会覆盖第一个帐户的 ssh 密钥吗?
$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 密钥 ...
i created an ssh key on both account
如果您遵循 GitHub 文档,您应该已经在本地计算机上创建了两个 SSH 密钥。然后将 public 密钥上传到 GitHub,每个帐户一个。
will the ssh key of 2nd account overwrites the ssh key of the first?
不,SSH 密钥存储在您的本地计算机上。当您与 GitHub 帐户共享密钥的 public 密钥时,不会影响其他帐户中的密钥。
对于这种特殊情况,最简单的解决方案是创建两个单独的 Windows 用户,每个用户都包含自己的 GitHub.
凭据
更实用的答案:
只需为两个帐户使用相同的密钥即可。
由于同一个人(您)在使用两个帐户,因此使用不同的密钥没有任何优势。
ssh密钥用于身份识别,两个账号的身份都是你...
您可以为数百个帐户使用一个 ssh 密钥,只需确保您的私钥安全且受密码保护即可。
我在这个 SO answer 中找到了解决方案。基本上,您可以让多个用户拥有多个 git (GitHub/GitLab) 个帐户,每个帐户都有 his/her 自己的 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
现在,您应该可以访问 de repo:git pull
问题是我和我的兄弟都从事编程,我们刚刚了解 GitHub(和类似的存储库站点),但我们家里只有一台计算机,所以我的问题是:
我可以为 2 个(或更多)GitHub 个帐户拥有 2 个(或更多)ssh 密钥吗?
如果我在 GitHub 上有 2 个帐户并且我在这两个帐户上都创建了一个 ssh 密钥 第二个帐户的 ssh 密钥会覆盖第一个帐户的 ssh 密钥吗?
$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 密钥 ...
i created an ssh key on both account
如果您遵循 GitHub 文档,您应该已经在本地计算机上创建了两个 SSH 密钥。然后将 public 密钥上传到 GitHub,每个帐户一个。
will the ssh key of 2nd account overwrites the ssh key of the first?
不,SSH 密钥存储在您的本地计算机上。当您与 GitHub 帐户共享密钥的 public 密钥时,不会影响其他帐户中的密钥。
对于这种特殊情况,最简单的解决方案是创建两个单独的 Windows 用户,每个用户都包含自己的 GitHub.
凭据更实用的答案:
只需为两个帐户使用相同的密钥即可。
由于同一个人(您)在使用两个帐户,因此使用不同的密钥没有任何优势。
ssh密钥用于身份识别,两个账号的身份都是你...
您可以为数百个帐户使用一个 ssh 密钥,只需确保您的私钥安全且受密码保护即可。
我在这个 SO answer 中找到了解决方案。基本上,您可以让多个用户拥有多个 git (GitHub/GitLab) 个帐户,每个帐户都有 his/her 自己的 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
现在,您应该可以访问 de repo:
git pull