Skip to content

Instantly share code, notes, and snippets.

@KunYi
Forked from jexchan/multiple_ssh_setting.md
Last active October 19, 2020 09:48
Show Gist options
  • Save KunYi/ad9915d6839ff2237d092cb9b0652abb to your computer and use it in GitHub Desktop.
Save KunYi/ad9915d6839ff2237d092cb9b0652abb to your computer and use it in GitHub Desktop.
Multiple SSH keys for different github accounts

Multiple SSH Keys settings for different github account

create different public key

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

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

Please refer to github ssh issues for common problems.

for example, 2 keys created at:

~/.ssh/id_rsa_kunyi_xxx
~/.ssh/id_rsa_kunyi_yyy

then, add these two keys as following

$ ssh-add ~/.ssh/id_rsa_kunyi_xxx
$ ssh-add ~/.ssh/id_rsa_kunyi_yyy

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

#kunyi@1 account
Host github.com-kunyi-1
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_kunyi_xxx

#kunyi@2 account
Host github.com-kunyi-2
	HostName github.com
	User git
	IdentityFile ~/.ssh/id_rsa_kunyi_yyy

Clone you repo and modify your Git config

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

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/
@KunYi
Copy link
Author

KunYi commented Oct 19, 2020

for example:

kunyi@ubuntu-build:~/cip-core/linux-cip-4.19$ cat ~/.ssh/config

ForwardAgent yes

Host github.com-kunyi_gmail
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa-kunyi_gmail

Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

kunyi@ubuntu-build:~/cip-core/linux-cip-4.19$ git remote add github git@github.com-kunyi_gmail:KunYi/linux-cip-4.19.git

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