Table des matières

Connexion au serveur SVN

La syntaxe de l'URL du serveur SVN est la suivante:

svn+ssh://utilisateur@votre_adresse_IP/srv/votre_disque/svn/nom_du_repository/

Par exemple, dans le cas d'un serveur “harry”, d'un repository (dépôt) “gandi”, et d'un utilisateur “bob”, l'url sera:

svn+ssh://bob@92.243.X.X/srv/d_harry/svn/gandi/

Note : Sous Gandi AI lors de la configuration du serveur subversion, il est préférable de créer un nouvel utilisateur.

ATTENTION : si un utilisateur est associé à un virtualhost de votre serveur web, il deviendra utilisateur FTP, il ne sera donc plus utilisable pour le serveur Subversion n'ayant pas de shell valide !

Mon mot de passe m'est demandé plusieurs fois pour la même action

Il est parfois nécessaire que Subversion ouvre plusieurs connexions SSH pour une même action. Il n'y a pas vraiment de solution afin de contrer cela, si ce n'est utiliser une clé SSH.

Utiliser une clé SSH

Ce tutoriel part du principe que PuTTY, PuTTYGen et Pageant sont installés sur le poste client. Ainsi qu'un client ftp (filezilla ?) De plus le serveur doit comporter un serveur ftp.

Pour créer une clé SSH pour l'utilisateur toto du serveur monserveur:
Opérations sur le serveur :

1. Se connecter en ssh avec le user toto (en fournissant son mot de passe)
2. Lancer la commande ssh-keygen -b 1024 -t rsa -N passphrase -f mykey
Important : Remplacer passphrase par un mot secret de votre choix (min 6 caractères)

Generating public/private rsa key pair.
Your identification has been saved in mykey.
Your public key has been saved in mykey.pub.
The key fingerprint is:
74:xx:xx:4b:18:7f:2c:xx:xx:8e:75:78:xx:xx:b3:f9 toto@monserveur

Nous avons alors créé une clé publique
mykey.pub
et un fichier d'identification
mykey

3. Créer un répertoire .ssh dans le répertoire de l'utilisateur : mkdir ~/.ssh
4. Copier le fichier mykey.pub dans le répertoire .ssh en le renommant authorized_keys : cp mykey.pub ~/.ssh/authorized_keys
5. Il est nécessaire ensuite de modifier les droits d'accès aux répertoires ~/ et ~/.ssh, ainsi qu'au fichier authorized_keys :
chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Opérations sur le poste client :
6. Récupérer le fichier d'identification mykey en ftp
7. Lancer PuTTYGen, aller dans le menu “Conversions” et choisissez “Import key” en fournissant le fichier mykey préalablement téléchargé.
Le passphrase (étape 2) vous sera alors demandé à nouveau.
8. Sauver la clé PuTTY générée avec “Save private key” en saisissant .ppk comme extension.
9. Lancer PuTTY et créer une nouvelle session (ou modifier celle que vous utilisez déjà pour vous connecter habituellement à votre serveur)
Session\HostName Saisissez l'IP de votre serveur
Session\Protocol : SSH
Session\Saved Sessions: MyConnection ( Choisissez le nom que vous souhaitez pour votre nouvelle connection).
Connection/SSH/Auth saisissez le chemin vers votre clé PuTTY dans le champ : “Private key file for Anthentication”
10. Retourner dans la section Session et sauver votre session … Vous êtes maintenant prets à tester

Vous pouvez alors ouvrir cette nouvelle session.
Il vous sera alors demandé le nom d'utilisateur (toto dans mon exemple) , puis la passphrase . Cela confirme que votre clé et votre configuration fonctionne.
Soyez attentifs lorsque vous testez, si Putty vous demande votre mot de passe à la place de la passphrase, il y a surement un problème. Si Putty indique que la clé a été regettée par le serveur, ça peut venir d'un problème de droit (CF étape 5).

Pour utiliser cette connexion avec Tortoise il faut modifier l'url utilisée en :

svn+ssh://ustilisateur@MyConnection/srv/votre_disque/svn/nom_du_repository/

En remplaçant MyConnection par le nom de votre connexion dans PuTTY.

A chaque fois que Tortoise se connectera au serveur, il ne demandera plus le mot de passe, mais le passphrase. Ca n'est pas encore plus pratique, mais on y est presque.

Pageant va pouvoir “mémoriser” le passphrase et vous affranchir d'avoir à le ressaisir tout le temps. Pour cela :

11. Double-clicker sur la clé PuTTY, Pageant va alors se lancer et vous demander de saisir le passphrase (promis c'est la dernière fois)

Vous pouvez alors utiliser Tortoise ou PuTTY sans plus avoir à fournir de mot de passe ou de passphrase.