J’utilise parfois, pour mon boulot, tortoise svn pour me connecter à des dépôts subversion de développement ou de configuration.

Or, Tortoise SVN utilise Plink (le client ssh stdin/stdout de Putty) pour se connecter aux dépôts de type svn+ssh://

J’ai donc commencé par taper mon mot de passe SSH à chaque passage sur le dépôt, mais cela est rapidement lassant (un informaticien n’aimant pas faire 3 fois la même chose …)

Par ailleurs, j’utilise beaucoup cygwin pour pouvoir transférer des fichiers via ssh, scp, rsync & co. Cygwin est un ensemble d’outils de shell Posix pour Windows. Le must having pour un linuxien qui doit utiliser ces OS terreux …

Utilisant cygwin, j’ai donc mis ma clé SSH publiqe dans D:\cygwin\home\benjamin\.ssh\authorized_keys
(la partition D est chiffrée avec TrueCrypt, je n’ai donc pas mis de mot de passe sur cette clé, sinon un ssh-agent serait utile …)

J’ai donc souhaité pouvoir utiliser le client ssh de cygwin pour Tortoise SVN. Pour cela, on procède ainsi :

– Créez un fichier .bat dans votre dossier cygwin comme suit (on suppose que cygwin est installé dans d:\cygwin) d:\cygwin\ssh.bat contient :


D:\cygwin\bin\bash.exe --login -c "ssh %*"

Ensuite, cliquez avec le bouton droit de la souris sur un dossier dans l’explorateur, puis choisissez « Tortoise SVN » > « Settings » (j’ai installé Tortoise SVN en anglais, car la traduction des termes du domaine des dépôts de sources partagé est plutôt difficile …)

svn1.gif

Ensuite, cliquez sur « Network » et entrez le chemin vers votre script ssh.bat dans la zone « ssh client ».

A partir de ce moment là, Tortoise SVN utilisera le ssh de cygwin, donc votre clé privée SSH pour se connecter à vos dépôts SSH SVN.

Note : vous avez peut-être noté l’adresse de votre dépôt comme suit :


svn+ssh://benjamin@svn.metaconsult.fr:/var/lib/svn

avec cygwin, il FAUT le noter ainsi (notez le : en moins …)


svn+ssh://benjamin@svn.metaconsult.fr/var/lib/svn

svn2.gif

Catégories : français