Configuration et utilisation de SVN chez OVH

Si vous avez un hébergement mutualisé chez OVH et que vous voulez utiliser Subversion, je vous souhaite bien du plaisir à configurer votre dépôt.

Voici ci-dessous les résultats de mes tâtonnements et de mes appels surfacturés à la hotline technique, qui, manifestement, n’emploie pas des techniciens, ou alors pas en informatique.

OVH propose un guide à cette adresse : http://guide.ovh.net/SVNMutu, mais certaines informations sont erronées ou incomplètes.

Ce billet s’adresse aux personnes sous Windows, ayant un hébergement mutualisé chez OVH. Pour installer SVN et l’utiliser, il vous faudra :

  • Un hébergement 90plan minimum pour les anciennes offres ; pour les nouvelles offres, la pro minimum
  • Putty pour vous connecter en SSH sur votre hébergement (téléchargeable ici)
  • PuttyGen pour générer une clé SSH
  • Pageant pour utiliser SVN de manière transparente (sans entrer le mot de passe à chaque manip)
  • et bien sûr, SVN installé en local (http://tortoisesvn.net/downloads)

Normalement, vous pouvez suivre les instructions jusqu’à l’exemple, ça devrait fonctionner. Si vous rencontrez des problèmes, ce sera très probablement à l’ajout de la clé, vérifiez en priorité :

  • le login : avez-vous bien indiqué le login FTP standard, celui qui a tous les droits ?
  • home.XXX : doit être remplacé par le chemin de votre hébergemement. Vous pouvez l’identifier comme suit :
    1) première méthode (merci Aeon) : connectez-vous avec putty sur votre espace d’hébergement en SSH (http://guide.ovh.net/SshMutualise) et entrez la commande pwd. Notez la première partie de ce qui est affiché : homez.24 par exemple.
    2) ou deuxième méthode :
    – créez un fichier php avec l’instruction suivante dedans : echo dirname(__FILE__);
    – déposez-le en ligne par FTP
    – appelez-le et notez la première partie de ce qui est affiché : homez.24 par exemple
    – par mesure de sécurité, effacez ce fichier de votre serveur
  • entre no-pty et la clé, vous devez indiquer le type de clé :  ssh-dss, ssh-rsa… Si vous avez suivi les instructions d’OVH, c’est une clé ssh-dss
  • il ne doit y avoir aucun retour à la ligne sur la ligne de commande, et surtout pas dans la clé. Avec putty, vous verrez l’instruction s’afficher en plusieurs lignes, cela ne veut pas nécessairement dire qu’elle est effectivement sur plusieurs lignes.

Ce qui nous donne :

command="/usr/bin/svnserve --root=/homez.24/loginFTP/svn --tunnel --tunnel-user=marie",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss D0JYNTDmZ0cuC6X2zLJ0Zfu4Z6p/kUM7cfU1rUu[...]

Là où ça se gâte, c’est lorsque vous voudrez faire le checkout en local, l’exemple fourni ne fonctionnera pas.
A la place de :

svn+ssh://login@xxlplan.ovh.net/depot_test

Indiquez

svn+ssh://login@www.nom-du-site.tld/home.XXX/login/svn/depot_test

Si les dieux sont avec vous, ça fonctionnera. Sinon, le plus simple est d’ouvrir un ticket d’incident. Vous pouvez également joindre la hotline, en gardant à l’esprit que votre interlocuteur ne saura probablement pas ce qu’est SVN et qu’une perte d’information est à prévoir lorsqu’il transmettra le problème au niveau supérieur.

Commentaires

  1. Merci pour la précision, ca fait 2h que je tourne.

    A la place de :

    svn+ssh://login@xxlplan.ovh.net/depot_test
    Indiquez

    svn+ssh://login@www.nom-du-site.tld/home.XXX/login/svn/depot_test

  2. Je suis toujours en train de galérer pour ma part mais pour ce qui est d’ avoir le numéro du dossier home, tu peux faire un simple « pwd » pour l’avoir, pas besoin d’utiliser php.

  3. Merci bien, j’ai résolu la fin des soucis avec l’aide de l’assistance technique.
    Tout marche, par rapport à ce que t’as dis, avec quelques modifs…

    1. La clé doit être suivi d’un espace et du nom de la machine à partir de laquelle vous vous connectez. Ce qui donne
    « command= »/usr/bin/svnserve –root=/homez.24/loginFTP/svn –tunnel –tunnel-user=marie »,no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss D0JYNTDmZ0cuC6X2zLJ0Zfu4Z6p/kUM7cfU1rUu[…]OhUhz MonOrdinateur »

    2. Si le chemin est réglé sur…
    « –root=/homez.24/loginFTP/svn »
    l’adresse pour le checkout devient:
    « svn+ssh://login@votre_domaine.net/depot_test »

    On se retrouve directement dans l’adresse pointée par « root », pas besoin de le remettre dans l’adresse donc.

    En ajoutant le nom de l’ordinateur, l’authentification doit fonctionner (plus de prompt pour le pass), et si elle fonctionne, le changement du chemin du repo s’impose, le chemin « root » étant utilisé.

  4. Merci, ça marche ! Je n’y croyais plus.

    Ma remarque perso : Dans le fichier .ssh/authorized_keys2, attention à ne PAS remplacer « loginFTP » par son login http://FTP...

    Maintenant, j’aimerais créer des utilisateurs avec des mots de passe, qui puissent être enregistrés par Tortoise. Je pense que ce tutoriel y répond :
    http://www.siteduzero.com/tutoriel-

    Par ailleurs, je n’ai pas compris à quoi sert le –tunnel-user=marc, à remplacer « par ce qu’il convient » d’après le tutoriel OVH… Qu’est-ce qu’il convient ?

  5. Merci pour ton article qui est d’une aide précieuse ! J’ai réussi à faire fonctionner SVN sur mon offre PRO avec mon mot de passe SSH.

    Cependant, je n’arrive pas à utiliser les clés pour l’authentification. Tortoise me demande systématiquement un mot de passe. (Alors même que ma clé privée est chargée dans Pageant.exe).

    Voici le contenu de mon fichier authorized_key2 :

    command= »/usr/bin/svnserve –root=/homez.XXX/MON_USER_FTP/svn –tunnel –tunnel-user=test »,no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss AAAAB3NzaC[…]0TQHEQXjxyQ= dsa-key-20110201

    Quelqu’un saurait me dire ce qui cloche ?

  6. Quelques pistes :

    • ton espace est-il bien un homez.xxx et pas un home.xxx ? (je ne te fais pas l’insulte de te demander si tu as bien mis homez.24 et pas laissé xxx…)
    • Pageant « décharge » les clés lorsqu’on le quitte, en le relançant, il faut bien recharger les clés
    • est-ce que la clé est bien sur une seule ligne, sans retour chariot, y compris la partie dsa-key-20110201 ?
    • est-ce que tu modifies ton fichier authorized_keys2 directement en SSH ou bien tu le charges sur ton PC ? si tu le modifies sur ton PC, il y a peut-être un problème d’encodage ou de caractères de fin de ligne
    • est-ce que tu te connectes en SSH avec ta clé ou ton login / mot de passe FTP ? est-ce qu’il y a un message à la connexion ?
  7. Merci pour ces infos, j’ai en fait trouvé avec l’aide du support OVH. J’avais simplement oublié un « s » à key pour le nom de mon fichier authorized_keys2. Une erreur bête mais qui fait perdre un temps fou.

    Du coup ça marche super bien. Si je veux utiliser ma clé avec Tortoise SVN, je la génère avec PuttyGen et je la charge avec Pageant. Si je veux configurer directement la connection au SVN dans Eclipse, je la génère depuis Eclipse (car elle n’ont pas l’air d’être dans un format compatible…)

    J’ai opté pour la solution avec Eclipse qui évite de charger la clé dans Pageant à chaque utilisation. (Sauvegarde de la clé.)

  8. Ah oui, l’oubli d’un s, c’est comme l’oubli d’un point-virgule, ça ne pardonne pas et on peut chercher longtemps 😉 Merci d’avoir posté la solution ici, ça servira peut-être à d’autres.

  9. Bonjour, merci pour ce tuto, mais pour ma part je n’en peut plus, je suis entrain de chercher depuis plusieurs heures pourquoi tortoise me demande mon mot de passe en boucle (il ne semble pas l’accepter car je l’ai à peine entré qu’il me le redemande)

    Mon fichier .ssh/autorized_keys2 :
    command= »/usr/bin/svnserve –root=/homez.380/zzzzzz/svn –tunnel –tunnel-user=toto »,no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss AAAAB…Wx dsa-key-20110210

    Mon site web étant zzzzzz.be

    J’ai bien pageant qui tourne avec la clé privée générée en même temps que la publique

    Comme adresse de repository j’entre :

    svn+ssh://toto@www.zzzzzz.be/homez.380/zzzzzz/svn/thesis

    Une précision, si j’essaie de me connecter en SSH avec putty quand pageant s’exécute, il m’envoie dans l’herbe avant même de me laisser entrer mon password :
    « Authenticating with public key « dsa-key-20110210 » from agent
    Server refused to allocate pty »

    Une idée ? Je désespère 🙂

  10. Bonjour Julian,

    Le dépôt SVN a-t-il bien été créé ?
    Sinon, ça ressemble fortement à un problème de correspondance entre la clé publique et la clé privée. Vérifie que tu as bien recopié la clé privée dans autorized_keys2 (pas de retour chariot, pas d’espace où il ne faudrait pas, pas de caractères manquants)

  11. Bonjour mariek,
    Oui j’imagine que le problème vient de là, j’ai bien vérifié que tout était sur une ligne…

    Faut-il rajouter l’utilisateur ‘toto’ dans ~/svn/thesis/conf/passwd ou modifier quelque chose d’autre dans la configuration du svn ?

  12. dans l’instruction

    svn+ssh://toto@www.zzzzzz.be/homez.380/zzzzzz/svn/thesis

    on est bien d’accord que ‘toto’ est le login FTP original du compte ? celui que tu utilises pour te connecter en SSH ?

  13. Voilà cela fonctionne. Ce que j’ai du changer c’est tout bêtement renommer .ssh/authorized_keys2 en .ssh/authorized_keys (sans le 2).
    Et la ligne pour se connecter est la même que celle du tuto, à savoir :

    svn+ssh://LoginFTP@ftp.zzzzzz.be/thesis
    (il n’y a pas besoin de remettre le homez.380/LoginFTP et j’ai mis ftp à la place de www, mais je ne pense pas que ce soit indispensable pour ce dernier point)

    Merci donc pour ce bon tuto mariek 🙂

  14. Les mystères de l’informatique… Enfin, merci d’avoir partagé ta solution, cela fera un point supplémentaire à vérifier pour les suivants.

  15. Excellentissime, 2 jours que je cherchais le bug sachant que cela depassait vraiment le service client d Ovh

    Et merci d’avoir partagé la solution

    PS: jette un oeil sur mon site (juste la home, tu vas te marrer Lézard-rouge, on a au moins un point en commun (mdr d’avance))

  16. Cela ne fonctionne toujours pas pour moi.

    Le problème à la base est que je ne vois pas du tout comment tortoisesvn peut connaître la clé à utiliser (j’ai lancé en ligne de commande pageant nom_de_ma_clé, cela fait vraiment quelque chose ?).

    Le tutoriel d’OVH indique de double cliquer sur le fichier PPK la contenant, mais sur mon PC aucun logiciel n’est rattaché à cette extension.

  17. @genesis8 : es-tu sous windows ou linux ? si c’est sous windows, lance l’exe pageant, une icone va apparaître dans la barre de tâche, tu fais un clic droit et « ajouter une clé », ensuite tu vas chercher ta clé. SVN va chercher parmi les clés de pageant laquelle va convenir pour ton projet en cours.

Les commentaires sont fermés.