Skip to content

Instantly share code, notes, and snippets.

@mmonkey
Forked from cjohara/multiple_ssh_setting.md
Last active April 9, 2017 21:54
Show Gist options
  • Save mmonkey/f808d28f0fdef6ba7d9e to your computer and use it in GitHub Desktop.
Save mmonkey/f808d28f0fdef6ba7d9e to your computer and use it in GitHub Desktop.

Multiple SSH Keys settings for different github account

create different public key

create different ssh key according the article Set-Up Git

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

Please refer to github ssh issues for common problems.

for example, 2 keys created at:

~/.ssh/id_rsa_activehacker
~/.ssh/id_rsa_jexchan

then, add these two keys as following

$ ssh-add ~/.ssh/id_rsa_activehacker
$ ssh-add ~/.ssh/id_rsa_jexchan

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
$ chmod 600 ~/.ssh/config
$ subl -a config

Then added

#activehacker account
Host github.com-activehacker
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_activehacker
	IdentitiesOnly yes

#jexchan account
Host github.com-jexchan
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_jexchan
	IdentitiesOnly yes

Clone you repo and modify your Git config

clone your repo git clone git@github.com-activehacker:activehacker/gfs.git gfs_jexchan

...or for an existing working directory git remote set-url origin git@github.com-activehacker:activehacker/gfs.git

cd gfs_jexchan and modify git config

$ git config user.name "jexchan"
$ git config user.email "jexchan@gmail.com" 

$ git config user.name "activehacker"
$ git config user.email "jexlab@gmail.com" 

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

then use normal flow to push your code

$ git add .
$ git commit -m "your comments"
$ git push

Another related article in Chinese

  1. http://4simple.github.com/docs/multipleSSHkeys/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment