create different ssh key according the article Mac Set-Up Git
$ ssh-keygen -t rsa -C "[email protected]"
Please refer to github ssh issues for common problems.
for example, 2 keys created at:
~/.ssh/id_rsa_activehacker
~/.ssh/id_rsa_jexchan
delete all cached keys
$ ssh-add -D
then, add these two keys as following
$ ssh-add ~/.ssh/id_rsa_activehacker
$ ssh-add ~/.ssh/id_rsa_jexchan
finally, you can check your saved keys
$ ssh-add -l
$ 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
IdentitiesOnly yes
#jexchan account
Host github.com-jexchan
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_jexchan
IdentitiesOnly yes
clone your repo
$ git clone [email protected]:activehacker/gfs.git gfs_jexchan
...or for an existing working directory
$ git remote set-url origin [email protected]:activehacker/gfs.git
cd into gfs_jexchan and modify git config
$ git config user.name "jexchan"
$ git config user.email "[email protected]"
$ git config user.name "activehacker"
$ git config user.email "[email protected]"
or you can have global git config
$ git config --global user.name "jexchan"
$ git config --global user.email "[email protected]"
then use normal flow to push your code
$ git add .
$ git commit -m "your comments"
$ git push
You may also need to change the [remote "origin"]
url field in your local .git/config
to use the Host defined in ~/.ssh/config
in order for this to work
[remote "origin"]
url = [email protected]:activehacker/gfs.git
Without that modification, git may just try to use your default ssh key.