Using SVN+SSH Protocol
Toshi Dávila avatar
Written by Toshi Dávila
Updated over a week ago

Assembla supports connecting to SVN repositories using SVN+SSH protocol, which provides security advantages. In this section we will discuss how you can set up your SVN client to use this protocol on Linux, Mac, and Windows computers.

Configure a console SVN client on Linux or MacOS

Let's say you already have subversion repository in your Assembla space and you want to configure your console subversion client on Linux or MacOS to work with it.

As you can see on the picture above there is "demo-test" subversion repository added to the "DemoSpaceTest" space.

1. Generate ssh keys:

First, you must generate ssh keys by running 

 ssh-keygen -t rsa

You will be asked where to store the key (by default it is ~/.ssh/id_dsa) and for a passphrase to protect the private key from unauthorized access (no passphrase by default).

2. Upload public key to your Assembla Account

You can see your public key with 

cat ~/.ssh/id_rsa.pub

Copy the output of this command, go to the SSH Keys Settings page in your Assembla profile and paste your public key contents there:

3. Modify ssh config

Add the following lines to ~/.ssh/config

Host subversion.assembla.com
User svn
SendEnv REPO_NAME

4. Success!

Now you can set REPO_NAME var and checkout your repository using svn+ssh:

export REPO_NAME=demo-test
svn co svn+ssh://subversion.assembla.com/

You only need to export REPO_NAME var only once, however you can set it directly before every svn command:

REPO_NAME=demo-test svn co svn+ssh://subversion.assembla.com/trunk/

Configure TortoiseSVN and PuTTY on Windows

Let's say you already have a subversion repository in your Assembla space and you want to configure your TortoiseSVN subversion client on Windows to work with it.

As you can see in the picture above, there is an "ie9test" subversion repository added to "DemoSpaceTest".

1. Download PuTTY

You can download the installer with this direct link. Installation is pretty straightforward; new programs will be put into "C:/Program Files/Putty" and shortcuts will appear in the start menu.

2. Generate SSH keys

To open the program, follow:

Start > Programs > PuTTY > PuTTYgen.

In PuTTYgen, first click on the "Generate" button.

Next, you'll move your mouse around the big gray area under the progress bar to generate randomness for security.

Once the key is generated, you should copy it to your clipboard. You'll use this later to authenticate with Assembla.

Lastly, click on the "Save private key" button and save your private key somewhere you'll be able to find it later.

3. Upload the public key to your Assembla account

Go to the SSH Keys Settings page in your Assembla profile and paste the public key you just copied from the previous step:

4. Configure PuTTY

Add subversion.assembla.com as Host Name:

Then, from the left menu, go to Connection -> Data and set Auto-login username to svn.

In the Environment variables section add REPO_NAME var with your repo name value (demoportfolio^ie9test in our case):

Then, go to Connection -> SSH -> Auth and select browse to choose the private key you saved in Step 2.

Finally, you can return to Session and save your connection profile. For better organization, name it after your repo (ie9test in our case).

5. Configure TortoiseSVN

To open TortoiseSVN Settings, follow:

Start > Programs > TortoiseSVN > Settings.

On the left, go to Network and set SSH client to "C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe"

6. Success!

Now you can checkout using TortoiseSVN!

Use your PuTTY connection profile name from Step 4 in the URL of repository field:

 

 Need Help? Please contact us at support@assembla.com

Did this answer your question?