How to Use Multiple Github Accounts With SSH Keys on the Same Machine
There might be a chance that you need to create and use a separate github(or bitbucket) account other than your personal one in your workplace. And Github(Bitbucket or Gitlab will do the same I believe) doesn't allow to share a ssh key between different accounts for authentication.
That's the case we are going to figure out below.
First of all, create a new ssh key pair on your machine.
1ssh-keygen -t ed25519 -C "[email protected]" 2# Note: If you are using a legacy system that doesn't support the Ed25519 algorithm, use: 3ssh-keygen -t rsa -b 4096 -C "[email protected]"
Next, edit/create the ssh config file.
1# Default github account: crazyoptimist 2Host github.com 3 HostName github.com 4 IdentityFile ~/.ssh/id_rsa 5 IdentitiesOnly yes 6 7# Workplace github account: extremeoptimist 8Host github-workplace # <-- This is the hostname that you will actually add by `git remote add` 9 HostName github.com 10 IdentityFile ~/.ssh/id_ed25519 11 IdentitiesOnly yes
Test the ssh authentication.
1ssh -T [email protected] 2ssh -T git@github-workplace
Now you should be able to clone repos in your workplace org.
1git clone git@github-workplace:your-org/some-cool-project.git
You got an idea to do this in a better way? Then you got it!