Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jstenmark/38688bf438e09d0623aa45deba7b8960 to your computer and use it in GitHub Desktop.

Select an option

Save jstenmark/38688bf438e09d0623aa45deba7b8960 to your computer and use it in GitHub Desktop.
Configure multiple git accounts on same computer using ssh

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 "your_email@youremail.com"

Please refer to github ssh issues for common problems.

for example, 2 keys created at:

~/.ssh/id_rsa_work
~/.ssh/id_rsa_personal

then, add these two keys as following

$ ssh-add ~/.ssh/id_rsa_work
$ ssh-add ~/.ssh/id_rsa_personal

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

# work account
Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_work

# personal account
Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_personal

Clone you repo and modify your Git config

clone your repo (note "github.com-personal")

git clone git@github.com-personal:work/repo.git repo_personal

cd repo_personal and modify git config

$ git config user.name "personal"
$ git config user.email "personal@gmail.com" 

or

$ git config user.name "work"
$ git config user.email "work@gmail.com" 

then use normal flow to push your code

$ 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