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](http://www.ibm.com/developerworks/aix/library/au-spunixpower.html) 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