如何在一台装有TortoiseHg的PC上使用两个bitbucket帐户(带有单独的ssh密钥)?

时间:2013-05-11 15:32:53

标签: mercurial ssh tortoisehg bitbucket

我有一个BB(BitBucket)工作帐户和一个自己的BB帐户,并且希望能够使用TortoiseHg和SSH从一台PC上访问它们。

当您将两个键添加到Pageant然后尝试推送到使用其中一个帐户的repo时,Pageant会将第一个SSH传递给BB,如果是BB帐户,SSH BB将接受它将用户登录到与该SSH密钥相关的帐户。

现在,如果第一个SSH密钥用于有权访问repo的帐户,那就好了但是如果第一个SSH密钥用于另一个帐户,则会收到授权错误。

似乎无法使用TortoiseHg将正确的密钥传递给BB。因此,我不断地将SSH从Pageant转换出来,这显然不太理想,我不妨放弃SSH并使用密码。 :(

有没有人知道如何让TortoiseHg为该帐户传递正确的SSH?

1 个答案:

答案 0 :(得分:6)

当我写这个问题时,我偶然遇到了一个解决方案!现在之前我没有遇到它的原因是Git not Mecurial,所以我认为它仍然值得发布这个问题和这个解决方案,以允许其他人在同一条船上轻松找到解决方案。 :)

解决方案来自:https://answers.atlassian.com/questions/150285/only-the-top-listed-private-key-in-pageant-is-used-offered-by-git-sourcetree-tortoisegit

这是重要的部分:

  

解决此问题的一种方法是在PuTTY中执行相同的配置   也消除了要发送的密钥的歧义(以及因此哪个用户   认证为)。

     
      
  1. 启动PuTTY(如果你没有,请从putty.org下载)
  2.   
  3. 输入' bitbucket.org'在主机名字段
  4. 中   
  5. 转到Connection> SSH>在树中验证
  6.   
  7. 指定用于BB用户的密钥
  8.   
  9. 回到会议'在树上
  10.   
  11. 在“已保存的会话”下方输入别名名称' (例如bb-user1)和保存
  12.   
  13. 为每个BB用户重复2-6并保存为其他会话名称
  14.         

    然后在您的远程网址中,替换' bitbucket.org'随着会议   name(例如bb-user1)消除首先发送的SSH密钥的歧义。这个   与在OpenSSH中使用IdentityFile相同。