Git与多个帐户给出相同的用户名,同时做ssh
问题描述:
我有2个git账户在我的Mac上,我有2套公钥和私钥。
我在/.ssh一个配置文件来管理这些帐户,它看起来像这样:Git与多个帐户给出相同的用户名,同时做ssh
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
Host github-user2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_user2
代码从这些帐户将被推到了我的设置不同的遥控器在各自的2个不同的远程仓库目录使用以下命令:
git remote add origin github.com:xyz_user/abc.git
git remote add origin github-user2:pqr_user/def.git
我成功地从这两个帐户推送到这些回购。
当我使用ssh,
ssh-add -l
显示私钥两个账户的添加。
但
ssh -T github.com
ssh -T github-user2
都提供了以下消息:
"Hi user2! You've successfully authenticated, but GitHub does not provide shell access."
1两件事,我已经注意到了,即使没有与 “SSH-添加-l”
ssh -T github.com & ssh -T github-user2 provide successful authenticate message.
上市的关键
如何在使用ssh连接时区分两个帐户?
ssh -T从哪里进行身份验证?
答
如何在使用ssh连接时区分两个帐户?
你不会真的这两个公钥已经在同一个GitHub帐户中注册,因此就GitHub而言,这两个ssh都认证你为'user2'。
ssh -T认证来自哪里?
它正在寻找您的Account profile的ssh keys section。
这两个公钥都在那里注册,如GitHub help page on "Generating SSH Keys"中所述。
嗨冯,谢谢你的回复。但是,两个公钥都在不同的GitHub帐户中注册。 – Manu
@Manu是否有可能在两个GitHub账户中都复制公钥? – VonC
@Manu也在这里看到(https://gist.github.com/jexchan/2351996)一个成功的双帐户ssh设置的例子。 – VonC