Manage Multiple SSH key in one Computer
It's frustate me this morning knowing that I can't pull my own personal repository from bitbucket which saving several of my own library scripts. How's this problem happen? After doing some research, I knew that one ssh-key in a computer must be associated with only one Bitbucket Account, . So, it will be denied when I tried to use the same key into my personal bitbucket account.
conq: repository access denied.
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
How to fix it? I have to create multiple ssh-key for usage at Bitbucket. Let's try to do it.
- First, we have to create new ssh-key for each accont. Open Terminal (Mac or Linux) / Git Bash (Windows)
- Open ssh directory and create two new ssh key, one for work account and one for personal account
$ cd ~/.ssh/
$ ssh-keygen
- Let's open Bitbucket in web browser. Login to work account, add work ssh-key created before. After you save configuration, logout from it.
- Repeat same step for personal acccount.
- Now we have different ssh-key for each account in Bitbucket. Let's try to pull some repository.
- Uh oh, It still disabled. Let's check when our ssh key is available in our computer by using command ssh-add.
$ ssh-add -l
If there is no identities in our computer. We should add our keys manually. We can use command ssh-add to adding our keys. I'll be adding two of mine using ssh-add command.
$ ssh-add ~/.ssh/work
$ ssh-add ~/.ssh/personalLast step, you have to create config file at ~/.ssh/ to tell Git which identity will be used in which account.
Host workid
HostName bitbucket.org
IdentityFile ~/.ssh/work
Host personalid
HostName bitbucket.org
IdentityFile ~/.ssh/personalThat's it. Now, I can pull and managing reopsitories using different accounts in Bitbucket. This method can be used when using another server.