我有一个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?
答案 0 :(得分:6)
当我写这个问题时,我偶然遇到了一个解决方案!现在之前我没有遇到它的原因是Git not Mecurial,所以我认为它仍然值得发布这个问题和这个解决方案,以允许其他人在同一条船上轻松找到解决方案。 :)
这是重要的部分:
解决此问题的一种方法是在PuTTY中执行相同的配置 也消除了要发送的密钥的歧义(以及因此哪个用户 认证为)。
- 启动PuTTY(如果你没有,请从putty.org下载)
- 输入' bitbucket.org'在主机名字段
中- 转到Connection> SSH>在树中验证
- 指定用于BB用户的密钥
- 回到会议'在树上
- 在“已保存的会话”下方输入别名名称' (例如bb-user1)和保存
- 为每个BB用户重复2-6并保存为其他会话名称
醇>然后在您的远程网址中,替换' bitbucket.org'随着会议 name(例如bb-user1)消除首先发送的SSH密钥的歧义。这个 与在OpenSSH中使用IdentityFile相同。