Multiple SSH Keys settings for different github account
=================================================================
create different public key
---------------------------------
create different ssh key according the article [Mac Set-Up Git](http://help.github.com/mac-set-up-git/)
$ ssh-keygen -t rsa -C "your_email@youremail.com"
Please refer to [github ssh issues](http://help.github.com/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
$ 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
---------------------------------------------
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
# Add git user identity to current project
```bash
touch ~/.ssh/config
vim ~/.ssh/config
```
config
```txt
# scirlig-ellation
Host github.com-scirilig-ellation
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# steevehook
Host github.com-steevehook
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_steevehook
```
```bash
cd path/to/git/project
git config user.name "steevehook"
git config user.email "steevehook@gmail.com"
git remote add origin git@github.com:steevehook/react-docker-travis.git
git remote set-url origin git@github.com-steevehook:steevehook/react-docker-travis.git
```
Run these commands for every identity:
```bash
ssh-add ~/.ssh/id_rsa_user
ssh-add -l
```
Another related article in Chinese
1. http://4simple.github.com/docs/multipleSSHkeys/
# Make sure to run something like this on every new cloned project
git remote set-url origin git@github.com-steevehook:steevehook/react-docker-travis.git