I had SVN+SSH setup for awhile, but in the end I decided that setting
up Apache and DAV SVN was easier than SVN+SSH. I've limited access to
the SVN directory on apache to localhost, so clients are still coming
in over a SSH tunnel, or  you could use https.

First, you'll want to get SSH key based authentication working. There
is plenty of documentation on how to do this. On Windows, download
PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/), generate
SSH keys with PuTTYgen, and setup Pageant to start when you log into
windows and load your SSH keys. You will want to use password
protected keys. Copy your public key to ~/.ssh/authorized_keys on your
SVN server.

Test your setup using putty. You should be able to ssh into the server
and get a command prompt without entering a password.

Once you've got that setup and working you have to deal with SVN. Are
you setting up a SVN repository in your home directory for your own
use or are you setting up a repository for multiple users? A personal
repository is easy as you won't have to deal with file system
permissions. Basically do:

svn co svn+ssh://server/home/user/svn/ local_directory

A multi-user repository is a bit trickier. It worked best when I
created a system group for the repository and added system users to
the group, then gave that group the needed permissions on the SVN
repository. For a multi-user repository, again I'll recommend the
Apache svn_dav module. No system level users are required. Once you
have permissions set properly on the repository, a checkout and
checkin should work as expected...

svn co svn+ssh//server/path/to/svn/repository local_directory

I recommend Tortoise SVN (http://tortoisesvn.tigris.org/) for a
Windows SVN client. I had little trouble getting it working with Putty
and Pagent to do svn+ssh.

-- 
Andrew S. Zbikowski | http://andy.zibnet.us
IT Outhouse Blog Thing | http://www.itouthouse.com