Git - Manage Multiple Accounts
Git - Manage Multiple Accounts
Introduction
- You can manage multiple GitHub/Gitlab accounts using the SSH configuration file and unique keys.
Steps
Create multiple SSH keys for each of the git accounts:
1 2
ssh-keygen -t rsa -b 4096 -C "apurvagiri90@gmail.com" -f ~/.ssh/apurvag/id_rsa ssh-keygen -t rsa -b 4096 -C "sakharamshinde@gmail.com" -f ~/.ssh/sakharams/id_rsa
Update/Create the ~/.ssh/config and add the below contents:
- Sample GitRepo’s:
1 2 3
git@github.com:apurvangiri/apurvangiri.github.io.git git@github.com:sakharams/developerportal.git git@github.com:<org_name>/<repo-name>.git
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
# Configuration for apurvangiri/apurvangiri.github.io Host github-apurvangiri HostName github.com User git IdentityFile ~/.ssh/apurvag/id_rsa IdentitiesOnly yes # Configuration for sakharams/developerportal Host github-sakharams HostName github.com User git IdentityFile ~/.ssh/sakharams/id_rsa IdentitiesOnly yes # Configuration for <org_name>/<repo_name> Host github-<org_name> HostName github.com User git IdentityFile ~/.ssh/sakharams/id_rsa IdentitiesOnly yes
Set the remote for the Git Repo to the respective host names:
1 2
git remote set-url origin git@github-apurvangiri:apurvangiri/apurvangiri.github.io.git git remote set-url origin git@github-cloudutsuk:cloudutsukpilot/developerportal.git
Executing the git pull/push commands will use the respective keys in order to authenticate the git servers.
This post is licensed under CC BY 4.0 by the author.