Bisher haben wir nur überprüft, ob Sie sich über SSH anmelden können. Nun müssen wir sicherstellen, dass die SSH Verbindung tatsächlich svnserve starten kann. Dazu müssen Sie auf dem Server die Datei /home/svnuser/.ssh/authorized_keys so anpassen, dass viele Autoren dasselbe Systemkonto, svnuser benutzen können. Beachten Sie bitte, dass jeder Autor die gleiche Anmeldung aber einen unterschiedlichen Anmeldeschlüssel verwendet, so dass Sie für jeden Autor eine eigene Zeile eintragen müssen.
Achtung: Dies steht alles auf einer sehr langen Zeile:
command="svnserve -t -r <ReposRootPath> --tunnel-user=<author>",
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,
no-pty ssh-rsa <PublicKey> <Comment>Es gibt mehrere Werte, die Sie an Ihre Einstellungen anpassen müssen.
<ReposRootPath> sollte durch den Pfad zu dem Verzeichnis, das Ihre Projektarchive enthält, ersetzt werden. Dadurch vermeiden Sie, dass vollständige Serverpfade innerhalb der URLs angegeben werden müssen. Beachten Sie, dass Sie selbst auf einem Windows Server normale Schrägstriche zum Trennen der Pfade verwenden müssen, z.B. c:/svn/reposroot. Im untenstehenden Beispiel nehmen wir an, dass sich die Projektarchive in einem Basisordner namens repos befinden.
<author> sollte durch den SVN Autor ersetzt werden, der in das Log eingetragen werden soll. Dies ermöglicht es svnserve, seine eigenen Berechtigungen innerhalb von svnserve.conf zu verwenden.
<PublicKey> sollte durch den bereits von Ihnen erzeugten öffentlichen Schüssel ersetzt werden.
<Comment> kann ein beliebiger Kommentar sein, sollte aber sinnvollerweise eine Abbildung des Autoren auf den richtigen Namen der Person sein.
Machen Sie einen Rechtsklick auf einen beliebigen Ordner im Windows Explorer und wählen Sie → . Sie werden nach einer URL gefragt, die Sie in der Form:
svn+ssh://svnuser@SvnVerbindung/repos
eingeben. Was bedeutet diese URL? Der Name des Schemas lautet svn+ssh wodurch TortoiseSVN weiß, wie Anfragen an den Server behandelt werden. Nach dem Doppelschrägstrich geben Sie den Anwender an, der sich mit dem Server verbindet, in unserem Fall svnuser. Hinter dem @ geben wir unseren PuTTY Sitzungsnamen an. Diese Sitzung enthält alle Details, z.B. wo sich der private Schlüssel befindet sowie die IP Adresse des Servers oder sein Name. Schließlich folgt noch der Pfad zum Projektarchiv relativ zum Basisverzeichnis auf dem Server, wie es in der authorized_keys Datei festgelegt wurde.
Klicken Sie auf und Sie sollten den Inhalt des Projektarchivs durchblättern können. Wenn ja, haben Sie jetzt einen funktionierenden SSH Tunnel mit TortoiseSVN.
Beachten Sie bitte, dass normalerweise TortoiseSVN beim Verbindungsaufbau eine eigene Version von Plink verwendet. Diese Spezialversion zeigt bei einem Anmeldeversuch kein Konsolenfenster an. Das bedeutet aber auch, dass es keine Ausgabemöglichkeit für Fehlermeldungen gibt. Falls sie die Fehlermeldung „Unable to write to standard output“ bekommen, sollten Sie Plink als Client in den TortoiseSVN Netzwerkeinstellungen festlegen. Dadurch können Sie die tatsächlich von Plink generierten Fehlermeldungen sehen.