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 profilessh keys section
这两个公钥都在那里注册,如GitHub help page on "Generating SSH Keys"中所述。

+0

嗨冯,谢谢你的回复。但是,两个公钥都在不同的GitHub帐户中注册。 – Manu

+0

@Manu是否有可能在两个GitHub账户中都复制公钥? – VonC

+0

@Manu也在这里看到(https://gist.github.com/jexchan/2351996)一个成功的双帐户ssh设置的例子。 – VonC