This is an updated version of the guide, the original can be found here.


The key to this method working is that subversion contains a handy component called svnserve which allows it to be tunnelled through a ssh session that authenticates with a key that only allows access to a single command tailored to set the subversion username. ssh itself supports this out of the box by setting parameters in its authorized_keys file.

Server side installation

Here is a shell script that covers the steps I used to install subversion. I recommend you run it line by line and check for later versions but if you're feeling brave then just download it to your Host Monster account, making it executable and actually launching it by entering the following commands:

wget www.sharpstep.com/Articles/HostMonster-svn/svn-install.sh
chmod a+x svn-install.sh
./svn-install.sh

Alternatively here it is:


You'll see that the end of this procedure I'm recommending downloading another small script I've written which will automate the process of creating a new key for a subversion user and adding that to the authorised list. If you want to do it by hand or want to add a pass phrase to the key or use a different encryption or whatever here's the code of the script:


Now this is set up you need to get your users to do a client install and send you the public key they've generated.

Client/user installation

Tortoise SVN (windows)

I've done this on vista and included screen shots of the whole process, I hope this helps.