Whenever you want to use a custom identity file with ssh, you usually use the -i parameter.

1
$ ssh -i ~/.ssh/other_id_rsa myuser@example.org

This will validate against ~/.ssh/other_id_rsa.pub and not the default one at ~/.ssh/id_rsa.pub.

If you want to use this with the default git client, it won't work. You cannot specify the identity file when cloning/pulling from or pushing to a repository, yet.

So:

1
2
$ git remote add origin ssh://myuser@example.org:repository.git
$ git pull origin master

will fail, because it's using the default rsa key at ~/.ssh/id_rsa.

Instead you can use this workaround.

Adjust your ~/.ssh/config and add:

1
2
3
4
Host example
Hostname example.com
User myuser
IdentityFile ~/.ssh/other_id_rsa

Now use the ssh host alias as your repository:

1
2
$ git remote add origin example:repository.git
$ pull origin master

And it should use the other_id_rsa-key!