Today I got a problem when adding SSH key to my new Gitlab account. I was trying to add a new key, but I got an error Fingerprint has already been taken
. Gitlab doesn't allow you to add the same key for multiple accounts.
After a few searching, I found the solution quite simple.
Firstly, you need to generate a new ssh key and save it in a different file name. E.g ~/.ssh/id_rsa_company
(Suppose you're using RSA).
Then, edit ~/.ssh/config
and add the following configuration:
# Company account
Host gitlab.company
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company
# Personal account
Host gitlab.personal
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal
Now, this is the important thing that you should keep in mind whenever cloning a repository.
For example, let's clone the repository named demo
. The usual repository URL will be something like:
git@gitlab.com:username/demo.git
However, you've already configured the host name for gitlab.com, so you should modify the above repository URL as:
git@gitlab.company:username/demo.git
Similarly, you have to modify the clone URL of the repository in the personal account depending on the alias provided in the configuration file.