Skip to content

Instantly share code, notes, and snippets.

@dotspencer
Last active March 7, 2024 15:01
Show Gist options
  • Save dotspencer/bcd7588716082f03798beed62006fc1c to your computer and use it in GitHub Desktop.
Save dotspencer/bcd7588716082f03798beed62006fc1c to your computer and use it in GitHub Desktop.
Multiple Gitlab accounts with multiple ssh keys

Gitlab won't allow reuse of a public ssh key for multiple accounts. To get around this you need to create a second ssh key for the second account.

Create or modify your ~/.ssh/config file:

# normal                                                                                                                                                                  
Host gitlab.com-work_username
     HostName gitlab.com
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/id_rsa

# second                                                                                                                                                                  
Host gitlab.com-personal_username
     HostName gitlab.com
     PreferredAuthentications publickey
     IdentityFile ~/.ssh/second_key

Check that both authenticate correctly with Gitlab:

ssh -T git@gitlab.com-work_username
ssh -T git@gitlab.com-personal_username

Then in the repo you want to use the second account for, edit the .git/config file:

[remote "origin"]
        url = git@gitlab.com-personal_username:group-name/repo-name.git

Added the -personal_username after gitlab.com


To clone the repo initially you can use:

GIT_SSH_COMMAND='ssh -i ~/.ssh/<second_private_key> -o IdentitiesOnly=yes' git clone <repo_url.git>
@cristihainic
Copy link

many thanks 👍

@ikbal-nayem
Copy link

Thank you so mush.

@LuanNguyenCong
Copy link

Thanks you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment