How to set Bitbucket for Multiple Accounts

Just found the solution for adding multiple accounts to Bitbucket. The reason why it is not so straight forward is because one SSH key only can link up to one account. So if there is more than one account the method will be slightly different.

Here is how the step to resolve it.

After id_rsa and id_rsa.pub is used to assigned account A. For account B, I need to create another set of public and private key.

$ssh-keygen -t dsa -f ~/.ssh/newaccB -C "<your email address>"
$chmod 600 ~/.ssh/newaccB*
$ssh-add ~/.ssh/newaccB

 

After that you need to go to ~/.ssh/config to give ssh client further instruction when connect to the same bitbucket.org server but knowing when to use which private key.

Host bitbucket.org
    Hostname bitbucket.org
    User git
    IdentityFile /Users/<username>/.ssh/id_rsa

Host bitbucket-accountB
    Hostname bitbucket.org
    User git
    IdentityFile /Users/<username>/.ssh/newaccB

So, after setting up when you want to use the account B key, you need to change the url to something such as below:

$git clone git@bitbucket-accountB:<username>/<project name>.git

For account A, you still can use the original ssh url to do so.

If you are using SmartGit, better to choose the System SSH in your preference. If not, you will still getting error.

PS: ssh-add ~/.ssh/newaccB might be adding behind after modify ~/.ssh/config

Advertisements