Tortoise SVN und PuTTY für eine sichere SSH Verbindung auf Windows

April 14th, 2011 | Tags: , , , , , , ,
Anzeige

Sehr lange habe ich nach einer vernünftigen Lösung für das Problem mit den sicheren SSH Verbindungen zu Subversion (SVN) Servern auf Windows gesucht. Dabei ist der Weg recht einfach man muss nur wissen, wie PuTTY da richtig ins Spiel kommt. Dieser Artikel bezieht sich auf TortoiseSVN Version 1.6.15 und PuTTY 0.60

Unter Linux ist das ganze so schön einfach. Ich habe meinen privaten und meinen öffentlichen SSH Key und schon kann ich munter drauf los ins SVN ein- und wieder auschecken. Und dann kommen wieder die Geiseln von Microsoft Windows und müssen erst umständliche Wege gehen. So ist das, wenn man eine Linux/ Unix-Technik auf ein anderes Betriebssystem zwingt.

Benötigt wird neben einer aktuellen Version von Tortoise SVN auch PuTTY (Ich empfehle die Komplette installer.exe Version. Da ist dann alles drin was gebraucht wird.). Und natürlich ein lauffähiges SVN (wie das geht habe ich bereits für Debian beschrieben).

Vorbereitung. Erstellen eines SSH Keys mit PuTTY Key Generator und in den Server einbinden

PuTTY key generatorAls erstes muss ein privater und ein öffentlicher SSH-Key angelegt werden. Mit diesem kann man sich später an dem SVN-Server anmelden. Das geht am besten über das PuTTY-Tool “Key Generator”.

Als Einstellung sollte SSH-2 RSA und eine möglichst hohe Bit-Zahl für den Schlüssel gewählt werden. 1024 oder 2048 sind meiner Meinung nach genug.

Nach der Erzeugung sollte als Key-Kommentar der Benutzername des aktuell angemeldeten Benutzers und der Rechnername an dem man sitzt verwendet werden um diverse Keys später auseinander halten zu können. Ganz wichtig ist ein sicheres Passwort. Besser gesagt eine “Passphrase”. Der Name ist extra so, da eine Passphrase länger und sicherer sein sollte als ein Password.

Jetzt nur noch den privaten (der sollte wirklich privat gehalten werden) und den öffentlichen Schlüssel speichern. Für den Serveradmin (ich gehe davon aus es ist ein Linux-/ Unix-Server muss jetzt nur noch der Code (in dem Feld, nicht der fingerprint) kopiert werden. Der sollte wissen was damit gemacht werden muss, oder noch ein mal hier nach schauen.

Vorbereitung. PuTTY SSH Verbindung einrichten.

Jetzt muss nur noch eine SSH Verbindung in PuTTY eingerichtet und gespeichert werden.
Dabei ist nicht viel zu beachten. Einfach Server Adresse eintragen und unter einem freiwählbaren Namen speichern.

Nun kommt eine weitere PuTTY Komponente ins Spiel.  PuTTY Pageant verwaltet keys für den Benutzer so wie es Linux schon von hause aus macht. Durch das hinzufügen eines Keys und das einmalige eingeben der Passphrase bleibt dieser Key die gesamte Sitzung aktiv. (Darum musste im Schritt mit Putty kein Keyfile eingegeben werden.) Also noch schnell den privaten Key in Pageant eintragen und das war es dann auch schon fast.

An dieser Stelle kann gerne mal getestet werden ob die gespeicherte SSH Sitzung in Putty ohne Passwort funktioniert.

TortoiseSVN einrichten und los geht es

SVN-EinstellungenJetzt kommt das spannende und SVN wird eingerichtet.

Dabei ist es klar, das das Protokoll svn+ssh:// verwendet werden muss. Dazu wird der Benutzername am Server benötigt. (Kein Passwort, das kommt von der Key-Datei.) Und dann kommt das Trickreiche an der Sache. Nicht der Servername darf hier verwendet werden, sondern der Session-Name den wir weiter oben bei Putty angegeben haben. der ganze Pfad muss dann so aussehen:

svn+ssh://BENUTZERNAME@SESSIONNAME/PFAD/ZUM/SVN

Und das war schon die ganze Magie. Ab jetzt kann SVN wieder ganz normal benutzt werden.

Und wie läuft das wenn ich nicht SVN sondern Git und SSH benutze?

Seit einiger Zeit bin ich großer Fan von Git und nicht mehr so großer Fan von SVN. Warum, das wird an einer anderen Stelle Thema sein.

Und dieses ganze Problem ist unter Git für Windows gar kein Problem. Git für Windows liefert eine vereinfachte bash mit, die genau so reagiert wie eine normale Linux Shell. Damit erstellt man normal seinen Key (oder verwendet seinen bestehenden) und kann sofort starten.

Weiter lesen


Keine Kommentare
Kommentieren