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 -C "email@work_mail.com" -f "id_rsa_work_user1"
$ ssh-keygen -t rsa -C "email@work_mail.com" -f "id_rsa_work_user2"
Please refer to github ssh issues for common problems.
for example, 2 keys created at:
~/.ssh/id_rsa_work_user1
~/.ssh/id_rsa_work_user2
then, add these two keys as following
$ ssh-add ~/.ssh/id_rsa_work_user1
$ ssh-add ~/.ssh/id_rsa_work_user2
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-work_user1
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work_user1
#jexchan account
Host github.com-work_user2
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_work_user2
Clone you repo and modify your Git config
clone your repo git clone git@github.com:work_user1/gfs.git gfs_work_user2
cd gfs_jexchan and modify git config
$ git config user.name "work_user2"
$ git config user.email "jexchan@gmail.com"
$ git config user.name "work_user2"
$ git config user.email "jexlab@gmail.com"
or you can have global git config $ git config --global user.name "work_user2" $ git config --global user.email "work_user2@gmail.com"
then use normal flow to push your code
$ git add .
$ git commit -m "your comments"
$ git push
Another related article in Chinese
-
http://4simple.github.com/docs/multipleSSHkeys/
$ pbcopy < ~/.ssh/id_rsa.pub $ cat ~/.ssh/id_rsa.pub | pbcopy