多个账户

我有一个9-5工作的 Bitbucket 账户,我也有一个个人 Bitbucket 账户。我的目标是能够在同一台计算机上同时使用两者。我已经在 Windows7电脑上安装了最新的 git。

所以目前我公司的 Bitbucket 账户一切正常,我可以毫无问题地拉/推。我使用 ssh-keygen 创建了一个新的 ssh 密钥,并在我的示例中指定了一个新名称“ tech”。但是我在如何告诉本地回购使用我创建的新 ssh 密钥方面遇到了问题。我假设每次尝试连接它都使用第一个 ssh 键。

我得到了一个错误:

$Git push 拒绝存储库访问。 致命: 远程终端意外挂断

我在互联网上找到了一些建议,但似乎与 linux/git 设置有关,例如,我在 windows 上找不到“ config”文件。

32953 次浏览

您应该只生成一次公钥/私钥对。如果您提供了私钥,那么所有拥有您的公钥的主机都允许从您连接。

如前所述,您只需要生成一次 pubkey-因为您已经安装了 BitBucket,那么您的 id_rsa(或者您命名的任何东西)文件在哪里?在我们的 Windows 安装中,它位于隐藏文件夹 .ssh中用户的主目录下。您应该能够在那里创建一个 config文件。

如果没有将密钥添加到密钥管理器(ssh-agent) ,可能会出现这个错误:

ssh-add ~/.ssh/tech

顺便说一下,如果你有多个 Bitbucket 账户,你需要为每个账户设置一个唯一的密钥。你不能重复使用钥匙。

这篇博客文章 描述了一种简单的方法,可以将多个 ssh 键添加到一台计算机上,并对每个 bitbucket 帐户使用一个 ssh 键。它比 官方的 bitbucket 文档清晰得多。总结一下:

首先,通过像 Github 上的这个这样的教程确保有一个默认的帐户设置。

第二种说法是:

  1. 创建一个新的 ssh 键:

    ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>"
    
  2. Add the ssh key:

    ssh-add ~/.ssh/<key file name>
    
  3. Use pbcopy < ~/.ssh/<your second account name>.pub to copy the public key and add this key to your bitbucket account (in the settings area)

(On Windows you can copy the ssh key using ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip or on Linux you can follow these instructions.)

  1. Add the following to your ~/.ssh/config file. The first sets the default key for bitbucket.org. The second sets your second key to an alias bitbucket-account2 for bitbucket.org:

    Host bitbucket.org
    Hostname bitbucket.org
    IdentityFile ~/.ssh/id_rsa
    
    
    Host bitbucket-account2
    Hostname bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/<your second account name>
    
  2. You can now clone projects with your default account the same way as before:

    git clone git@bitbucket.org:username/project.git
    
  3. To clone a project with the second identity, replace bitbucket.org with the Host that you specified in the ~/.ssh/config file (i.e. bitbucket-account2 above):

    git clone git@bitbucket-account2:username/project.git
    

That's it!

你可以在你的个人 bitbucket 帐户中添加你公司的电子邮件,在 bitbucket 帐户管理页面:

enter image description here

您可以登录您的个人电子邮件帐户,并在单一 bitbucket 帐户中访问个人项目和公司项目,该帐户只使用一个 ssh 私钥。