Bonjour à tous,

   dans le cadre d'une synchronisation de deux dépôts subversion j'ai besoin
de pouvoir
me connecter à ces dépôts via SSH. Cette synchro utilise pour les deux
serveurs un accès
svn+ssh.

La phase de synchronisation est appelée depuis un hook après chaque "commit"
dans le dépôt principal, comme expliqué dans la doc.

J'ai donc créé sur chaque serveur un compte Unix svnsyncuser (avec `adduser
--disabled-password svnsyncuser`), et svnserve fera avant sa synchro un
équivalent de `ssh -l svnsyncuser mirror`. J'ai également créé un paire de
clefs sans passphrase.

Je peux me connecter via pubkey aux deux comptes svnsyncuser APRÈS un `su
svnsyncuser` (c'est à dire classiquement, depuis un compte portant le même
nom). Je peux également me connecter depuis un compte root avec un `ssh -l
svnsyncuser -i ~svnsyncuser/.ssh/id_rsa mirror`.

Par contre, je ne peux pas faire un `ssh -l svnsyncuser -i
~/.ssh/id_rsa_svnsyncuser mirror` depuis un autre compte utilisateur courant
sans que SSH me demande une passphrase. (j'ai pourtant bien copié la paire
de clefs de svnsyncuser dans le répertoire ssh de cet utilisateur en
conservant les mêmes permissions).

Je ne pourrais donc pas utiliser svn+ssh depuis le serveur subversion sans y
rétablir le mot de passe de svnsyncuser et utiliser un wrapper su autour de
ssh.

Ma question est donc la suivante : comment utiliser la clef publique (sans
passphrase) d'un autre compte avec SSH ?


Bonne journée,

Frédéric


-- 
Frédéric Hébert

--
http://www.openidfrance.fr/fhebert

--
Fondation Wikimedia : Levée de fonds 2009.
Faites un don : http://wikimediafoundation.org/wiki/Global_Support/fr

Répondre à