多个Bitbucket SSH帐户在同一台​​机器上

时间:2015-04-23 21:32:48

标签: windows git ssh bitbucket

我试图通过SSH从同一台机器上运行多个Bitbucket帐户。

在我的.ssh \ config文件中,我有:

Host account1.bitbucket.org
  Hostname bitbucket.org
  PreferredAuthentications publickey
  IdentitiesOnly yes
  IdentityFile ~/.ssh/account1

Host account2.bitbucket.org
  Hostname bitbucket.org
  PreferredAuthentications publickey
  IdentitiesOnly yes
  IdentityFile ~/.ssh/account2

然后我更改了git repo的遥控器以使用别名:

git@account1.bitbucket.org:myUserName/myRepoName.git
git@account2.bitbucket.org:myUserName/myRepoName.git

然后在Pageant(在系统托盘中),我添加了两个PPK密钥。

不幸的是,如果我已将两个键添加到Pageant,则只有一个帐户有效。

如果我一次只有一个会话中的一个键,那么它将适用于我添加到Pageant的任何Bitbucket帐户。

如果在其列表中有多个密钥,那么看起来像是没有使用正确的密钥。

关于它为什么要这样做的任何想法?

2 个答案:

答案 0 :(得分:2)

Atlassian Answers上的这个link解释了如何将PuTTY和SSH与多个bitbucket帐户一起使用:

  

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

     

启动PuTTY(如果你没有,请从putty.org下载)

     

在主机名字段中输入“bitbucket.org”

     

转到Connection> SSH>在树中验证

     

指定用于BB用户的密钥

     

返回树中的“会话”

     

在“已保存的会话”下方输入别名(例如bb-user1)和   保存

     

为每个BB用户重复2-6并保存为不同的会话名称

     

然后在您的远程URL中,将“bitbucket.org”替换为会话   name(例如bb-user1)消除首先发送的SSH密钥的歧义。这个   与在OpenSSH中使用IdentityFile相同。

最后,您可以在分页中添加密钥以缓存密钥密码。

答案 1 :(得分:0)

我通过不使用Pageant来完成这项工作。我使用Sourcetree作为Git GUI,在选项中,有一个下拉菜单,说明是使用OpenSSH还是Putty / Plink。

根据Steve Streeting的描述:

https://answers.atlassian.com/questions/164479/sourcetree-support-multiple-ssh-keys

听起来像Pageant并没有使用.ssh \ config配置。

通过更改为OpenSSH,然后使用ssh-keygen重新生成密钥,并通过Sourcetree"工具添加私钥。添加SSH密钥"菜单,现在可以在多个帐户中使用不同的密钥完美地工作。我只需要更改每个git仓库的远程URL以在配置文件中使用正确的别名(如我的初始帖子中所述)。

<强>更新

我在这里写了一篇博客文章: http://www.danclarke.com/multiple-ssh-keys-for-git/