SVN multi-utilisateur sur hébergement mutu performance

Bonjour,

Je dispose d'un hébergement gamme performance.
Je désire mettre en place un serveur SVN.
J'ai suivi le guide https://docs.ovh.com/fr/fr/web/hosting/utiliser-svn/

Je dispose désormais d'un repo qui fonctionne.
J'ai mis en place un fichier ~/.ssh/authorized_keys2 qui contient plusieurs lignes :
> ssh-rsa AAA…maclefpubliquepourmeconnecterenSSH… bertrand@ulysse
> command="/usr/bin/svnserve --root=/homez.XX/login/svn --tunnel --tunnel-user=bertrand",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss AAA…maclefpubliquepourmeconnectersurSVN…
> command="/usr/bin/svnserve --root=/homez.XX/login/svn --tunnel --tunnel-user=autreuser",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-dss AAA…LaClefPubliqueDeLAutreUserPourSeConnecterSurSVN…`

Lorsque, de chez moi, je fais :
`svn checkout svn+ssh://login@ftp.clusterXXX.hosting.ovh.net/depot_test` => ca echoue :
> svn: E170013: Unable to connect to a repository at URL 'svn+ssh://login@ftp.clusterXXX.hosting.ovh.net/projet_test'
> svn: E210005: No repository found in 'svn+ssh://login@ftp.clusterXXX.hosting.ovh.net/projet_test'`

`svn checkout svn+ssh://login@ftp.clusterXXX.hosting.ovh.net/homez.XX/login/svn/depot_test` => ca fonctionne :
> `Révision N extraite.`

Lorsque, depuis une autre machine que la mienne (donc sans la clef SSH permettant de s'identifier sans mot de passe sur tout l'hébergement), mais dont la clef publique est bien enregistrée dans le fichier ~/.ssh/authorized_keys2 avec l'indication --tunnel-user=autreuser, un utilisateur de SVN fait :
`svn checkout svn+ssh://login@ftp.clusterXXX.hosting.ovh.net/homez.XX/login/svn/depot_test` => Ca demande un mot de passe : celui du login principal de l'hébergement.
Or, bien entendu, je ne désire pas fournir l'accès de l'ensemble de l'hébergement à tous les utilisateurs SVN…

Merci d'avance pour votre aide.

Mon message n'a pas enthousiasmé les foules…
Je reformule…

Est-il possible de fournir un accès à SVN a des utilisateurs extérieurs, via svn+ssh, sur une plateforme mutualisé performance, sans avoir à leur fournir un accès SSH pour l'ensemble de l'hébergement ?

En effet, pour le moment, j'ai l'impression que ce n'est pas possible, ce qui serait du coup extrêmement limitant (quel intérêt à mettre un serveur SVN en ligne, si je suis le seul à pouvoir m'en servir). Aussi, je penche plutôt sur un problème de configuration.

Si quelqu'un a une idée…
Cordialement,
Bertrand

Alors je ne connais pas SVN mais d'après ce que je comprends ça a l'air de ressembler à Git.

Si je comprends bien ce que tu veux faire : tu veux te servir de l'hébergement mutu comme d'un serveur dépôt, un peu comme ça https://docs.ovh.com/fr/fr/web/hosting/24-days/day07/ ?

Pour l'accès SSH tu peux créer un utilisateur ftp et lui définir un répertoire de destination de mémoire donc pour l'accès SSH l'utilisateur n'aura accès qu'au répertoire concerné et aux sous répertoires de celui-ci, ça répond à ton besoin ?

Bonjour @BertrandH,

Nous fournissons svn en ligne de commande depuis SSH uniquement. Nous ne maintenons pas de serveur SVN et vous devez donc déployer des utilisateurs FTP/SSH afin de fournir accès au SVN à vos utilisateurs.

Bien que cela ne soit pas de la même granularité de droits qu'un serveur svn, l'accès depuis la ligne de commande SSH permet de déployer rapidement son site s'il a été développé par une équipe utilisant svn. C'est le but principal :slight_smile:

Nous fournissons git de la même manière.

Pour git, vous pouvez envisager de déployer un utilisateur FTP/SSH qui n'a accés qu'au dossier du git et ajouter un .hook déployer le dépôt dans votre dossier de site web. Je dois avouer que je ne sais pas si les hooks sont possibles sur svn.

Bonne journée,
Vincent

Bonjour Bertrand,

3 ans plus tard…j'ai exactement le meme besoin que vous, a savoir:
fournir un accès à SVN a des utilisateurs extérieurs, via svn+ssh, sur une plateforme mutualisé, sans avoir à leur fournir un accès SSH pour l'ensemble de l'hébergement.
(Et j'imagine que beaucoup d'autres personnes l'ont aussi, vu que ca me semble etre un besoin classique…)
Et j'ai vraiment du mal a trouver la solution…

- Sur Windows: il y a une solution assez directe et classique en utilisant TortoiseSVN et Pageant. La solution (décrite dans la plupart des tuto) permet de générer des paires de clés (1 par user, via putty) qui donnent acces a SVN sans donner acces globale à SSH.
(pas besoin d'avoir le password ssh, ni d'avoir de clé qui donne acces a tout l'hebergement)

- Sur macOS et Linux:
Je cherche maintenant a donner/avoir acces a SVN depuis un mac ou Linux. Là, je ne trouve pas de solution qui ne donne pas acces SSH a l'ensemble de l'hebergement:
. Je peux utiliser SVN en donnant le mot de passe de mon compte ftp/ssh principal…
. Je peux utiliser SVN en generant 2 paires de clé (une pour ssh l'autre pour svn) comme décrit ici: http://nicolas.hognon.com/blog/?p=25. Mais, du coup, la clé ssh donne acces a l'ensemble de l'hebergement.

Avez vous trouvé une solution ???

Il me semble qu'une piste a explorer serait de comprendre comment cela fonctionne sur Windows…

Merci d'avance.