Multiple SSH Keys on same client
Check if you have existing keys by opening the terminal and entering:
ssh-add -l OR
ls -al ~/.ssh and check for any file called (usually) id_rsa or similar
Identify the host you're using your current key for. You probably added this key to, for example your github or gitlab account. We will use this later on.
If you don't have a config file on
~/.ssh folder, you will need to create one. We'll get back to this later.
Now create a new key for your new host by following the steps on https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent and give it a different name, like id_rsa_github_personal.
Once you've created a new key, it's time to create our config file (or modify if you have one already) at
nano config and add the following lines:
# GitHub Personal Host github_personal HostName github.com AddKeysToAgent yes UseKeyChain yes IdentityFile ~/.ssh/id_rsa_github_personal
If you didn't have a config file but did have a key, now is the time to add it to the file. Let's say that you were using it for your company's github repository, so just add the following lines (edit it accordingly):
# GitHub Company Host github_company HostName github.com AddKeysToAgent yes UseKeyChain yes IdentityFile ~/.ssh/id_rsa
Note: you should add the correct file name to
Now it's time to add your key to the ssh-agent:
Start the agent if you haven't already by running
eval "$(ssh-agent -s)",
ssh-add -K ~/.ssh/id_rsa_github_personal.
And you're all set!
Note: if on the first step the output for
ssh-add -l was "The agent has no identities" but you did found a key on
/.ssh folder, then add that key to the agent.
So now when you want to clone a repository using ssh, the url is usually in this format:
email@example.com:username/repository-name.git. You will need to modify
github.com and use the Host name that
you added to
config file. For example:
git@github_company/repository-name.git if you don't need the username to provide ex.: as repositorium is public on VPN