Um Subversion über SSH auszuführen, benötigen Sie im Grunde eine Shell auf dem Zielsystem und ein dort liegendes Subversion-Depot, das entsprechend vorhergehender Beschreibung erstellt wurde. Das Depot muss für den Zugriff der Benutzer des fernen Systems eingerichtet werden.
Unter der Annahme, dass Ihr Benutzername auf dem Client-System derselbe wie
der auf der Sever-Seite ist, ist nicht viel zu konfigurieren. Ändern Sie nur
in allen in diesem Handbuch gezeigten Beispielen die Protokollangabe von
file://
in
svn+ssh://
.
Name-des-fernen-Nutzers
@Server-Hostname
Beachten Sie, dass während der Aktionen von svn-buildpackage-Werkzeugen viele SSH-Aufrufe gemacht werden können. Daher wird der Benutzer nach seinen Anmeldedaten gefragt. Die normale Methode damit umzugehen ist die Verwendung einer SSH-Schlüsselauthentifizierung zusammen mit ssh-agent und ssh-add zum Zwischenspeichern der Passphrase. Eine andere Herangehensweise, die ebenfalls eine merkliche Geschwindigkeitssteigerung bringt, ist die Benutzung einer zwischengespeicherten SSH-Verbindung. Dies kann mit einer neuen Funktionalität von OpenSSH erledigt werden (lesen Sie die GNU-Kurzanleitung SSH connection caching) oder mit einem Werkzeug eines Drittanbieters wie fsh.
Falls Sie fsh über ssh benutzen
möchten, können Sie eine benutzerdefinierte Transportmethode in der
Subversion-Konfiguration angeben. Zu diesem Zweck bearbeiten Sie die Datei
~/.subversion/config
und fügen Sie ihr den Abschnitt
[tunnels]
hinzu, gefolgt von Ihrer benutzerdefinierten
Transportdefinition. Beispiel:
Beispiel 2.3. Beispiel eines benutzerdefinierten SSH-Tunnelbefehls
# persönliche Subversion-Konfiguration mit benutzerdefiniertem SSH-Tunnelbefehl [tunnels] # SSH-Konto auf svn.d.o # in der SSH-Konfiguration ist Komprimierung aktiviert deb = fsh -l <user> # SSH-Konto für NQ-Intranet, fester Benutzername wird gesetzt nq = ssh -C -l zomb
Sie können die neu definierten Tunnel auf eine ähnliche Art wie oben
beschrieben nutzen. Ersetzen Sie aber svn+ssh
durch
svn+
, so dass die
URL am Ende etwa so aussieht:
Tunnelname
svn+deb://svn.debian.org/svn/mein_Projekt
/unser_Paket
/trunk