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.
1vim ~/.ssh/config
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 [email protected]
Now you should be able to clone repos in your workplace org.
1git clone [email protected]:your-org/some-cool-project.git
You got an idea to do this in a better way? Then you got it!
Happy coding!
comments powered by Disqus