GForge SVN

Access a GForge SVN repository in read/write mode

First, you have to open an account on GForge. You also have to ask for the right to do modifications to the repository on the GForge page (i.e. be added as a member of the project).

In order to be able to login with read/write access to the SCM, one has to use SSH, with an asymetric (public/private) keys authentication scheme. Roughly, this means some configuration steps have to be undergone.

An SSH keypair has to be generated for use when connecting to the GForge server. The SSH client must be configured to use this key, and the GForge system must be aware of the key.

SCM : https://scm.gforge.inria.fr/svn/taxi/trunk


Setup the public key in GForge

Once the keypairs have been generated (be it under Unix or Windows), it is necessary to let the GForge know the public key in order to be able to authenticate the subsequent login requests.

The format of the public RSA key is as follows:

ssh-rsa KEYHASH COMMENT

For example:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1KRdsIRzEo2CQmc8NjLmPAVKhe7I5Ks4E9B3zjFIMEzL3q1MSagPdRr3O8+cO7c6W3EsArojV+F2TOJXbc8OnxeSa3Er642v8GOb94u2jnE1hX2Km6DC2Zg1+89g/8fjo3GqluSrQfO+gXH5dPitHFdlxn6MVz6FlrEwXRCEirBManNOHRRd/TXgoKJmgttsUFfq91GRSvx4yAe+gbDYqN5yzBtMB+Sl0BXiC6ZdljqY0UuKCp5h4tXBRpduZIoRhAypKhWgBA+CGo19axEm9tnP1F8ovbPugCzMj338mwyI5TY2bECalw4yP+aNYVRFwbUPqRxbi6TUSwWwKCRG0Q== mehani@vision

Please note that this is one single line.

This is done, after logging in to your GForge account, on the GForge account authorized keys page.

You can then save the changes and check at the bottom of the page where you've just been redirected that one and only one key is detected.

If the interface lists more than one key, this means that

  1. either you specified several keys (say, one for the Unix box and one for the Windows box) ;
  2. or you didn't paste your key as one single line and must check it for newlines that should not be there.

Unix SSH keys magics

The public key is generated as follows.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mehani/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/mehani/.ssh/id_rsa.
Your public key has been saved in /home/mehani/.ssh/id_rsa.pub.
The key fingerprint is:
23:62:d7:c5:7f:22:1a:13:2f:3a:6b:9b:9f:a1:77:88 mehani@vision
$ 

As shown above, the public key is stored in /home/mehani/.ssh/id_rsa.pub. The contents of this file can be obtained using your favorite editor (vim, gedit, pico, mcedit,…), or simply,

$ cat ~/.ssh/id_rsa.pub

It must be put in the GForge interface.

You can now access the SVN repository with read/write access:

svn <your command> svn+ssh://<yourlogin>@scm.gforge.inria.fr/svn/<project>/

for instance:

svn checkout svn+ssh://<yourlogin>@scm.gforge.inria.fr/svn/taxi/trunk

if you want to checkout the TAXI trunk (and only the trunk: nice to avoid very heavy video sequences present in /medias)


Windows SSH key magics

Two pieces of software are needed:

Generate the keypair

The keypair is generated using the PuTTYgen tool (Start/Programs/PuTTY/PuTTYgen). Generate a keypair and save both keys to a convenient place. It is advisable to specify a non-trivial passphrase for more security, but it is possible to use an empty one.

The keys generator GUI with a generated public key displayed

In the upper part of the GUI, you can see the public key line of the newly generated public key, which you will need to copy and paste in the GForge interface.

Configure the connection

Launch PuTTY and go to the SSH/Auth section. There you can browse for the file containing the private key you just generated.

Specify the key to use when connecting to the remote server

Once this is done, go back to the Session section, enter the SCM server's hostname, scm.gforge.inria.fr, give a name for the session, say “GForge” and save it.

Hint: prefixing the servername with YOURLOGIN@ will tell PuTTY to use your login to connect to the server, without prompting for it.

A session to connect to the SCM server

Test the connection

To check that everything is properly working up to now, click on the “Open” button and try to login with your GForge username. PuTTY should be using the keypair to authenticate to the SCM server. After a security alert (which is not abnormal),

A new unknown server ?

one should be presented with a Unix prompt, everything worked well then !

An SSH session to the SCM server

Sometimes, you need to wait a little bit (1 hour or 1 day):

Parce que le serveur ssh refuse d'authentifier les utilisateurs avec leur mot de passe, vous devez déposer vos clés publiques ici et elles seront placées sur le serveur SCM dans votre fichier \'~/.ssh/authorized_keys\'. Cette opération s'effectue à l'aide d'une tâche programmée et n'est donc pas instantanée. Attendez vous à un délai d'une journée si votre compte vient d'être activé ou d'une heure si votre compte shell est déjà actif.

First SVN checkout

Now you should be able to use Tortoise SVN to checkout and, later on, commit to the SVN repository.

One can checkout a SVN repository everywhere

You simply have to enter this repository address:

svn+ssh://<the_name_of_the_session_stored_in_putty>/svn/PROJECT

Checking TAXI out

Note: if using a public key with a passphrase set, one should ensure that the SSH agent is running and properly set up. This will save a lot of time and keystrokes.

Using a passphrase: setup an SSH agent

If you've chosen to set a passphrase for your public key, it will be handy to to register this key to the SSH Agent, PuTTY's Pageant (in the same place in the Start menu), in order not to have to type it in at every reconnection. Once launched, it will silently go to the systray, on the left of the taskbar clock.

Pageant quietly starts and minimizes in the systray

Open its main window by double-clicking the icon. In this window, click on “Add Key”, choose your key and enter the passphrase.

The Pageant GUI with the newly created key registered

You can then “Close” the window. Pageant will remember your password and you won't have to enter it later to work with SVN. However, you will have to start Pageant and register the key at every login. It might be advisable to put a shortcut to Pageant in the “Startup” group of your Start menu.


MacOS X

SVN client

First, download the latest version of svnX. Once the DMG file has been openned, just copy the svnX application to your Applications folder.


See also

 
imara/platforms/software/gforgesvn.txt · Last modified: 2011/04/04 11:47 by Paulo RESENDE
Recent changes · Show pagesource · Login