无法使用具有不同身份的Mercurial与BitBucket进行SSH连接

时间:2016-08-27 13:28:48

标签: ssh mercurial bitbucket

所以我只是在Bitbucket上建立了第二个帐户,并且我将它与mercurial一起使用,就像第一个帐户一样。我已按照说明here进行操作,因此我的~/.ssh/config文件如下所示:

 UserKnownHostsFile /dev/null
 StrictHostKeyChecking no
 ForwardAgent yes

Host bitbucket.org
 HostName bitbucket.org
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/id_rsa

Host bitbucket.org
 HostName bitbucket.org
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/personal

现在,我只能使用文件中的第一个身份进行SSH,而第二个我得到:

remote: conq: repository access denied.
abort: no suitable response from remote 

如果我在config文件上切换两个身份,那么我可以使用之前无法访问的身份进行访问,反之亦然。我究竟做错了什么?

1 个答案:

答案 0 :(得分:1)

更改.ssh/config中的主机别名:

<强>的.ssh /配置

Host bitbucket1
 HostName bitbucket.org
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/id_rsa

Host bitbucket2
 HostName bitbucket.org
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/personal

<强>用法

# will use the ~/.ssh/id_rsa identity
hg clone ssh://hg@bitbucket1/your/repository

# will use the ~/.ssh/personal identity
hg clone ssh://hg@bitbucket2/your/repository

您可以使用任何ssh别名,唯一重要的是它们对于不同的身份是不同的。因此,您可以为第一个条目保留Host bitbucket.org,并将另一个条目更改为Host personal.bitbucket.org