1. Suppose we have two machines, CLIENT and SERVER.
2. On CLIENT, generate a new ssh-key (KEY) and load it via ssh-agent.
3. I assume that on SERVER you have created a "subversion" user and created the repository in /home/subversion/repo .
4. On CLIENT, in your $HOME/.subversion/config file add the following to the [tunnels] stanza:
custssh = ssh -p your-port-number -l subversion \
5: On SERVER add your new key to the ~subversion/.ssh/authorized_keys file, but add it in a special way:
no-agent-forwarding,no-X11-forwarding,no-pty ssh-dsa #$#$#$#$#key-stuff-goes-here-lBB email@example.com
Tip: to prevent you from going off into the weeds, I strongly suggest that you familiarize yourself with the format of this file and ensure that no stray characters end up in this file...
6. And now you can access your Subversion repository like so:
svn co svn+custssh://SERVER/repo/trunk/top-secret-project
This is a very handy way to have things setup.