多个bitbucket帐户

The*_*Guy 69 git ssh bitbucket

我有一个Bitbucket帐户,我的9-5工作,我也有一个个人Bitbucket帐户.我的目标是能够在同一台计算机上使用它们.我在Windows 7上安装了最新的git.

所以目前我公司Bitbucket帐户的一切工作正常,我可以拉/推没有问题.我使用ssh-keygen创建了一个新的ssh密钥,并在我的案例"tech"中分配了一个新名称.但我遇到了如何告诉本地仓库使用我创建的新ssh密钥的问题.我假设每次我尝试连接它使用第一个ssh键.

我收到错误:

$ git push conq:存储库访问被拒绝.致命:远程端意外挂断

我在互联网上找到了一些建议,但它似乎与linux/git设置有关,例如我在Windows上找不到"config"文件.

Zen*_*nce 104

这篇博文描述了一种直接的方法,可以将多个ssh密钥添加到一台计算机上,并且每个bitbucket帐户使用一个ssh密钥.它比官方bitbucket文档更清晰.总结一下:

首先,确保您通过Github上的此类教程设置默认帐户.

对于第二个帐户:

  1. 创建一个新的ssh密钥:

    ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>"
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用pbcopy < ~/.ssh/<your second account name>.pub复制的公钥和此键添加到您的帐户到位桶(在设置区域)

(在Windows上,您可以使用ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip或在Linux上复制ssh密钥,您可以按照这些说明进行操作.

  1. 将以下内容添加到您的~/.ssh/config文件中.第一个设置bitbucket.org的默认密钥.第二个将第二个键设置bitbucket-account2为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>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 您现在可以使用默认帐户克隆项目,方法与以前相同:

    git clone git@bitbucket.org:username/project.git
    
    Run Code Online (Sandbox Code Playgroud)
  3. 要使用第二个标识克隆项目,请将bitbucket.org替换为您在~/.ssh/config文件中指定的主机(即bitbucket-account2上面):

    git clone git@bitbucket-account2:username/project.git
    
    Run Code Online (Sandbox Code Playgroud)

而已!

  • 我必须使用以下命令添加ssh密钥:ssh-add~/.ssh/<密钥文件名> (4认同)

小智 51

如果尚未将密钥添加到密钥管理器(ssh-agent),则可能会出现此错误.去做这个:

ssh-add ~/.ssh/tech
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果您有多个Bitbucket帐户,则每个帐户都需要一个唯一的密钥.IOW,你不能重复使用密钥.

  • 这解决了我的问题,bitbucket坐的文档中缺少这一步骤.谢谢. (4认同)