Along the lines of How to tell git which private key to use?
I would like to use a specific ssh key in a given situation.
My problem is that even when I specify '-i something' ssh uses the keys from my ssh-agent in the order they are added.
My specific situation:
- I have two github users, each with their own key
I would like to – for example via a ssh-config – for each clone specify which key to use:
Host USER1.git
Hostname github.com
User git
IdentityFile ~/.ssh/USER1.id_rsa
ssh -vt USER1.git
will still use USER2.id_rsa
if that is the key first added to ssh-agent.
Best Answer
I finally got it to work:
ssh-add -l
and make sure both of your keys have been added.ssh-add -l
into the appropriate line in~/.ssh/config
to avoid typos. If there is a~/.ssh/config
identityfile path typo for USER1, then the wrong key (USER2's key) will be used instead.I got the instructions over at BitBucket. They should work for GitHub since the only difference is
HostName
: http://confluence.atlassian.com/pages/viewpage.action?pageId=271943168#ConfiguringMultipleSSHIdentitiesforGitBashMacOSXLinux-CreateaSSHconfigfileTo get this to work on a remote server using agent forwarding, try @stijn-hoop's suggestion below (in the comments section of this answer).