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 …)
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