Skip to content

Instantly share code, notes, and snippets.

@det-peralta
Forked from jexchan/multiple_ssh_setting.md
Last active October 27, 2018 19:36
Show Gist options
  • Save det-peralta/a1dfcb7c2800bc908a400676adc26475 to your computer and use it in GitHub Desktop.
Save det-peralta/a1dfcb7c2800bc908a400676adc26475 to your computer and use it in GitHub Desktop.
Multiple SSH keys for different github accounts

Multiple SSH Keys

create different public key

create different ssh key, Git Bash on Windows / GNU/Linux / macOS:

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

copy key macOS:

$ pbcopy < ~/.ssh/<name>.pub

or GNU/Linux (requires the xclip package):

$ xclip -sel clip < ~/.ssh/<name>.pub

or Windows Command Line:

$ type %userprofile%\.ssh\<name>.pub | clip

Git Bash on Windows / Windows PowerShell:

$ cat ~/.ssh/<name>.pub | clip

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
$ subl -a config

Then added

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

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

Clone you repo and modify your Git config

then use normal flow to push your code

$ git config user.name "activehacker"
$ git config user.email "jexlab@gmail.com" 
$ 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