If you have multiple Bitbucket accounts (let's say one for your company and one private one) and additionally one Github account that you all want to authenticate with SSH, you can follow this guide to add all accounts to your local machine so you don't need to struggle with different accounts anymore.
Open your terminal and navigate to your home directory. Start by generating your first default SSH key.
ssh-keygen -t rsa ssh-add ~/.ssh/id_rsa
Store the keys in the default location.
For each additional account generate new SSH keys but be careful not to overwrite the previously generated one by giving it a new name.
ssh-keygen -t rsa -C "companyName" ssh-add ~/.ssh/companyName
Store this key under the
companyName so when you are asked where to store it, enter the location but exchange the filename.
Create a config file or alter the existing one.
In YAML syntax add following entries for your keys.
Host bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes Host companyName.bitbucket.org HostName bitbucket.org IdentityFile ~/.ssh/companyName IdentitiesOnly yes
Save the configuration file with name
Copy your SSH key for the account you want to use it.
pbcopy < ~/.ssh/id_rsa.pub
pbcopy < ~/.ssh/companyName.pub
In Bitbucket, login to your account where you want to add the copied key and navigate to
Bitbucket Settings - Security - SSH Keys and add the key. Repeat for all accounts that you created a key for.
In Github navigate to
Settings - SSH and GPG keys and add your Github key there.
If you clone from your default account just copy the output when you click
Clone inside your remote repository.
If you clone from your company account, you need to alter the host with the host you specified in your
git clone git@companyName.bitbucket.org:user/repo.git