I’ve been frustrated lately trying to juggle multiple SSH keys on various servers I’m on. If I’ve got one set up to the Subversion server at work, then I can’t authenticate with github. If I let github be the server that I have a private key for, then I’m entering a password whenever I do an svn up on the work server. I played with ssh-agent, but that seemed to require starting up a process every time I logged in, and I couldn’t get it running in my .bashrc, and it required manually adding keys. And then I stumbled across this article that introduced me to the IdentityFile argument. Now I have this in my ~/.ssh/config and all is well with the world.

Host github.com
HostName github.com
IdentityFile ~/.ssh/github_rsa
User petdance