Here is a quick howto on using a config file to associate an SSH connection with a particular identity file. When I ssh directly from the command line, I can specify the port, identity file to use, and a whole raft of other options. However these options aren't available when checking out from subversion using svn+ssh, and I needed to specify a particular private key to use. These instructions are for my kubuntu 9.10 installation but should work on every flavour of *nix as far as I know.
I was trying to check out using something like this:
svn co svn+ssh://lorna@svn.example.com/desired/path
To do this, I created this file: ~/.ssh/config and in it I put the following:
host lornajane
HostName svn.example.com
IdentifyFile /path/to/private_key
Now I update my checkout syntax to make use of my alias rather than specifying the host directly, like this:
svn co svn+ssh://lorna@lornajane/desired/path
SSH realises that it should pull the host information from your local config file, and uses your HostName, IdentityFile and any other settings you specify (there are many options, see this reference for more information. For example I often use this for port numbers if I'm tunnelling my SSH between places, the possibilities are endless.
Hope this helps, if you've got anything to add then I'd be delighted to see a comment from you.
