Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@MrBuBBLs
Forked from jexchan/multiple_ssh_setting.md
Last active December 2, 2015 13:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrBuBBLs/0da72e71a0fc8ec2c7aa to your computer and use it in GitHub Desktop.
Save MrBuBBLs/0da72e71a0fc8ec2c7aa to your computer and use it in GitHub Desktop.
Multiple SSH keys for different github accounts

Multiple SSH Keys settings for different Git accounts

Create different SSH key pairs

Create different ssh key according the article Mac Set-Up Git

$ ssh-keygen -t rsa -C "your_email@youremail.com"

Please refer to github ssh issues for common problems.

As an example, 2 keys are created like:

~/.ssh/id_rsa_gl
~/.ssh/id_rsa_gh

Then, add these two keys as following

$ ssh-add ~/.ssh/id_rsa_gl
$ ssh-add ~/.ssh/id_rsa_gh

You can delete all cached keys before

$ ssh-add -D

Finally, you can check your saved keys

$ ssh-add -l

Modify the ssh config

$ cd ~/.ssh/
$ touch config
$ subl -a config

Then added

#activehacker account
        Host gl
	HostName gitlab.my-corp.com
	User git
	IdentityFile ~/.ssh/id_rsa_gl

#jexchan account
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_gh

Clone you repo and modify your Git config

clone your repo git clone git@github.com:johndoe/his-repo.git john-doe_repo

cd john-doe_repo and modify git config

$ git config user.name "Mike Me"
$ git config user.email "mikeme@gmail.com" 

$ git config user.name "Mike Me"
$ git config user.email "mikeme@my-corp.com" 

or you can have global git config $ git config --global user.name "Mike Me" $ git config --global user.email "mikeme@gmail.com"

then use normal flow to push your code

$ git add .
$ git commit -m "your comments"
$ git push
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment