Ein SSH2-Tunnel herstellen

Letztes Update: 16. Januar 2002 (Originalseite: 27.10.2001)

Inhalt

Über diese Anleitung
Über SSH2
Konzepte
Auswahl des SSH2-Clients
Betriebssysteme
Verwendung der kommerziellen Clients (Windows)
Verwendung von Cygwin: Kostenlos und Open Source (Windows)
Herstellen eines Tunnels mit Cygwin: Unix-Anweisungen (geeignet für Linux, OS X, etc.)
Übertragen Ihres Zertifikats (Public Key): für alle
Was tun, sobald der Tunnel hergestellt ist: für alle

Über diese Anleitung

Was in dieser Anleitung erklärt wird. Diese Anleitung soll den Anwendern ermöglichen den Tunnel zu OpenOffice.org mit Hilfe von SSH (Secure Shell 2) herzustellen. Es wird beschrieben, wie das notwendige Zertifikat (auch öffentlicher Schlüssel bzw. public key genannt) erstellt und an die OpenOffice.org-Administratoren übertragen wird. Auch das Herstellen des Tunnels zwischen Ihrem PC und dem OpenOffice.org-Server unter Verwendung dieses Zertifikats wird geschildert (in diesem Dokument werden die Begriffe "Zertifikat", "öffentlicher Schlüssel" und "public key" abwechselnd verwendet). Diese Anleitung scheint nur lang zu sein. Viele Dinge werden wiederholt und an die beschriebene Software angepasst.

Was diese Anleitung nicht behandelt. Dieses Dokument beschreibt nicht die Verwendung von CVS, sondern nur die Herstellung des Tunnels, um CVS verwenden zu können.

Anmerkung: Um den Tunnel zu OpenOffice.org herzustellen müssen Sie erst einen öffentlichen Schlüssel übertragen und er muss akzeptiert werden. Die derzeitige Politik erlaubt nur authorisierten Entwicklern diesen Zugriff.

Über SSH2

SSH2 ist ein flexibler und sichererer Ersatz für telnet, rlogin und SSH1. Es wird vor allem in Entwicklungsprojekten verwendet, um eine Zugriffskontrolle und Datentransport-Sicherheit bereitzustellen. SSH2 kann dazu verwendet werden transparente, nicht störende "Port-Tunnel" zum CVS-Server (Versionsverwaltung; concurrent versions system) herzustellen. SSH2 verwendet verschlüsselte Zertifikate (ein Paar aus öffentlichem und privatem Schlüssel), um die Identität des Benutzers sicher festzustellen und Daten zu übertragen. Daten, die durch den Tunnel gesendet werden, sind verschlüsselt, aber diese Verschlüsselung ist für Sie und die Software, die Sie verwenden um auf das CVS-Archiv zuzugreifen, nicht sichtbar.

Da es einfach zu verwenden und sehr sicher ist, wird SSH2 bei OpenOffice.org verwendet, um den Entwicklern Zugriff auf das CVS-Archiv zu geben.

Konzepte

  1. Wahl der richtigen Software
  2. Erstellen des Zertifikats
  3. Herstellen des SSH2-Tunnels

Bevor Sie die SSH2-Verbindung herstellen können, müssen Sie die richtige Software auswählen, d.h. einen Client, der einen Terminal auf dem Desktop plaziert, falls Sie Windows oder Mac Os 9 (Mac OS X hat SSH2-Fähigkeiten eingebaut) verwenden. Glücklicherweise gibt es mehrere exzellente Clients (sowohl kostenlos als auch kommerziell), die unter Windows und Mac OS ein Terminal bereitstellen. Unten werden diese ausführlich beschrieben. Natürlich können Sie, falls Sie Linux (oder ein anderes Unix-Derivat) verwenden, diesen Abschnitt überspringen und dort weiterlesen, wo es ums Herstellen des Tunnels geht. Dort werden die Schlüsselelemente, die zum Herstellen eines Tunnels in einer Unix-artigen Umgebung erforderlich sind, beschrieben. Falls Sie mit diesen Clients bereits vertraut sind, können Sie diesen Bereich überspringen und bei der Anleitung zum Verwenden der Desktop-Terminals weiterlesen.

Sobald Sie ein funktionsfähiges Terminal haben, müssen Sie

  1. Ein Schlüsselpaar aus öffentlichem (public) und privatem (private) Schlüssel erstellen; und
  2. den öffentlichen Schlüssel mit Hilfe von IssueZilla übertragen.

Das Erstellen des Schlüsselpaars ist einfach und es gibt sowohl kommerzielle als auch kostenlose Clients, die diese Arbeit für Sie erledigen. Das Übertragen des Schlüssels an OpenOffice.org ist einfach und wird unten beschrieben. Die einzige Schwierigkeit liegt darin, den passenden Client zum Erzeugen des Schlüssels zu finden. Der Abschnitt "Auswahl der Software" beschreibt detailliert die Verwendung der verfügbaren Clients. Die Herstellung der Verbindung zu den Servern, auf denen sich das CVS-Archiv befindet, ist ganz einfach. Das Entscheidende ist, den richtigen Server und die korrekten CVS-Port-Nummern zu verwenden. Diese Nummern sind glücklicherweise standardisiert.

Auswahl des SSH2-Clients

Neue SSH2-Clients erscheinen und verschwinden und die Art, wie man sie konfiguriert, ändert sich jedesmal. Deswegen können Sie uns eine E-Mail schreiben, falls Sie einen besseren Weg finden um einen Client zu konfigurieren. Außerdem gibt es andere Seiten zum Thema SSH und CVS. Mehr Informationen dazu finden Sie im Abschnitt " Zusätzliche Dokumentation ".

Betriebssysteme

Kommandozeilen-basierte Clients: Linux, Mac OS X, Unix, Solaris. Linux unterstützt SSH. Um eine SSH-Verbindung herzustellen, lesen Sie bitte den Abschnitt "Herstellen einer Verbindung". MacOS X (Version 10.04 und höher) ermöglicht mit der "Terminal"-Anwendung ebenfalls den SSH-Zugriff. Um eine Verbindung herzustellen, folgen Sie bitte den Anweisungen für Linux, mit dem Unterschied, dass das Kommando zum Erstellen eines DSA-Schlüssels anders lautet: ssh-keygen -t dsa (trotzdem hat ssh-keygen -d beim Test des Autors der Originalseite auch funktioniert).

MacOS 9.x. Es überrascht kaum, dass die Herstellung einer SSH2-Verbindung unter MacOs 9 ziemlich einfach ist, oder? Die Konzepte sind die gleichen wie unter Windows, Linux oder Mac OS X. Hier ist zusammengefasst, was Sie tun müssen. Es sind zwei Schritte notwendig. Zuerst müssen Sie MacSSH, dann den SSH-Client konfigurieren.

Konfiguration von MacSSH

  1. Laden Sie die neueste Version von MacSSH Englische Seite herunter, die einfach zu verwenden, kostenlos und OpenSource ist. Außerdem arbeitet sie mit einer sehr hohen Geschwindigkeit.
  2. Konfigurieren Sie es, indem Sie auf das "Favoriten (favorites)"-Menü in der oberen Navigationsleiste klicken.
  3. Klicken Sie auf die Schaltfläche "Neu (new)".
  4. Geben Sie einen Namen für diesen Favoriten an. Aber keine Sorge, es wird der Standard sein.
  5. Host Name: openoffice.org
  6. Port: 22
  7. Terminal: default
  8. Wechseln Sie nun zu dem "SSH2" Reiter.
  9. Encryption: 3DES
  10. Authentication: MD5
  11. Compression: zlib
  12. Method: Local TCP port forward
  13. Local port: 2401
  14. Remote host: localhost
  15. Remote port: 2401
  16. Sie müssen jetzt das SSH2-Schlüsselpaar erstellen. Klicken Sie dazu auf die Schaltfläche "SSH initialisieren (initialize SSH)". Folgen Sie den Anweisungen.
  17. Exportieren Sie Ihren Schlüssel (das heißt, speichern Sie ihn woanders), indem Sie auf die Schaltfläche "Exportieren (export)" klicken. Dadurch können Sie ihn in ein Verzeichnis auf Ihrer Festplatte legen, um ihn mit IssueZilla zu übertragen.
  18. Sobald Ihr Schlüssel von dem freundlichen Team von OpenOffice.org auf dem Server gespeichert wurde, werden Sie benachrichtigt. Dann können Sie eine Verbindung herstellen.
  19. Wie das bei Tunnels üblich ist: sobald sie hergestellt sind, gibt es keine Shell mehr. Sie werden allenfalls eine Meldung bekommen, dass die Verbindung hergestellt wurde. Das ist alles. Lassen Sie das Fenster offen, aber Sie können es minimieren.

Konfiguration des Mac CVS-Clients

Es gibt mehrere kostenlose und einfach zu verwendende CVS-Clients für den Mac. Jeder hat seine Macken, aber ich bevorzuge zwei: MacCVSPro Englische Seite und MacCVSClient. Englische Seite Beide erlauben "Port-Forwading" (um den Tunnel verwenden zu können) und beide sind leicht zu konfigurieren. Die Daten sind für beide die gleichen. Für beide müssen Sie ein Verzeichnis für die CVS-Dateien erstellen. Das kann mit dem Client oder auch mit einem anderen Programm erledigt werden. Ich empfehle Ihnen das zuerst zu erledigen und das Verzeichnis klar zu identifizieren.

Anmerkung: Wir stellen Ihnen alle Informationen bereit, die Sie benötigen könnten. Nicht alle Informationen werden von den Clients benötigt.

  • Informationen zum Server:
  • Server: openoffice.org
  • CVS Root: /cvs
  • CVs User Name: Ihren OpenOffice.org-Benutzernamen
  • CVs Password: Ihr OpenOffice.org-Passwort
  • CVs command: CVs
  • Port: 2401
  • Method: Pserver
  • Default Module: Das Modul, auf das Sie Zugriff haben.
  • Erlauben Sie nicht "Auto Merge."

Die obigen Informationen sollten alle benötigt werden. Falls Sie Fehlermeldungen erhalten (eine "1" bei CVS), sollten Sie prüfen, ob der Tunnel richtig hergestellt ist und ob Sie das richtige Passwort eingegeben haben. Beachten Sie auch, dass Sie einen führenden Slash ("/") vor das cvs-Hauptverzeichnis setzen müssen. Falls dieser nicht existiert, können Sie keine Dateien auschecken.

Windows . Falls Sie Windows (9x, ME, NT, 2k oder XP) verwenden, können Sie SecureCRT Englische Seite, F-Secure SSH Englische Seite, oder Cygwin Englische Seite verwenden. Cygwin, von Cygnus Solutions, stellt eine fast komplette Unix-Umgebung auf Ihrem Desktop zur Verfügung. Im Gegensatz dazu stellen SecureCRT und F-Secure SSH benutzerfreundliche Terminals zur Verfügung, d.h. sie täuschen nicht vor eine Unix-Umgebung zu emulieren. Beide, F-Secure SSH und SecureCRT, kosten Geld ($100 für SecureCRT und $119 für F-Secure SSH), aber es steht eine 30-Tage-Testversion von beiden zur Verfügung. Cygwin hat nicht nur den zusätzlichen Vorteil kostenlos und sehr leistungsfähig zu sein, sondern es ist auch Open Source und wird ständig weiterentwickelt.

( Anmerkung : für alle der genannten Clients gibt es regelmäßig Updates, Upgrades und Änderungen. Die Folgen davon sind nicht nur, dass die Software leichter bedienbar wird, sondern auch, dass manche der unten aufgeführten Anweisungen nicht mehr funktioniert. Falls das der Fall ist informieren Sie uns bitte per E-Mail.)

Verwenden der kommerziellen Clients

Die Besprechung von Cygwin, welches eine Unix-Umgebung auf dem Desktop emuliert, folgt weiter unten.

Egal, ob Sie SecureCRT oder F-Secure SSH für den Mac oder für Windows verwenden, benötigen Sie die folgenden Informationen:

  • Username: tunnel
  • Remote Hostname: openoffice.org
  • Local Hostname: localhost
  • Local port: 2401
  • Remote port: 2401

Im Folgenden wird die Prozedur für die Verwendung von SecureCRT (Version 3.1.2) beschrieben. Man kann das Ganze in zwei Teile teilen: das Angeben des Server-Namens und Ähnliches und das Erstellen des Schlüsselpaars. Natürlich muss der Schlüssel erst wie unten beschrieben übertragen werden, bevor eine Verbindung hergestellt werden kann.

  1. Starten Sie SecureCRT und erstellen Sie eine neue Sitzung (session). Unten ist ein kleines Fenster, "Save this session", welches standardmäßig aktiviert sein sollte. Falls es das nicht ist, klicken Sie bitte darauf. Sie möchten die Sitzung speichern.
  2. Wählen Sie "SSH2" in der Auswahl für das Protokoll aus.
  3. Als "Hostname" geben Sie " openoffice.org " ein.
  4. Bei "Authentication" wählen Sie "PublicKey" aus.
  5. Bei "SSH Server" wählen Sie "Standard".
  6. Klicken Sie auf die Schaltfläche "Advanced" neben "Hostname".
  7. Sobald Sie im erweiterten Bereich sind, wählen Sie bitte den Reiter "General" aus, falls dieser nicht schon standardmäßig aktiviert ist.
  8. Klicken Sie auf die Schaltfläche "Create Identity File". Daraufhin wird der "Key Generation Wizard" geöffnet, der Sie durch den Prozess des Generierens des Schlüsselpaars begleitet.
  9. Sobald die Schlüssel generiert wurden, bringt Sie der Assistent zurück auf die Seite mit den Optionen, wo Sie gefragt werden, ob Sie den Standard-Pfad und -Dateinamen akzeptieren oder die Angaben ändern möchten. Was immer Sie auswählen (es ist ziemlich egal), müssen Sie Ihr Zertifikat später leicht wieder finden können, um es an OpenOffice.org wie unten beschrieben übermitteln können.
  10. Klicken Sie auf den Reiter "Port Forwarding".
  11. Als "Local port" geben Sie " 2401 " ein.
  12. Als "Remote port" geben Sie " 2401 " ein.
  13. Als Benutzername (username) geben Sie " tunnel " ein.
  14. Bei "Remote hostname" geben Sie " localhost " ein.
  15. Klicken Sie auf "Save" und "OK", um das Dialogfeld zu verlassen.
  16. Zurück auf der "main connection page"...
  17. Schließen Sie das Fenster mit einem Klick auf "Connect". Natürlich können Sie noch keine Verbindung herstellen. Sie müssen zuerst Ihren öffentlichen Schlüssel wie unten beschrieben an OpenOffice.org übertragen.
  18. Sobald Sie den Schlüssel übertragen haben und die Administratoren diesen auf dem Server registriert haben werden Sie benachrichtigt, dass Sie nun einen Tunnel herstellen können.
  19. Öffnen Sie die Sitzung, die Sie anfangs erstellt haben.
  20. Klicken Sie auf verbinden (connect).
  21. Falls Sie sich das erste Mal verbinden, sagt der Client, dass noch kein "host key" für den Server gefunden wurde und fragt, ob Sie fortfahren möchten. Sie möchten fortfahren.
  22. Der Server sollte Sie jetzt nach der "passphrase" fragen, falls Sie nicht angegeben haben, dass er sie speichern soll. Geben Sie hier Ihre "passphrase" oder Passwort ein.
  23. Der Server zeigt nun an, wann das letzte Mal jemand eingeloggt war.
  24. Das Terminal-Fenster zeigt keine Eingabeaufforderung an. Das sollte es gewesen sein. Der Tunnel wurde aufgebaut. Sie können nun mit CVS sicher arbeiten.

Verwenden von Cygwin: Kostenlos und Open Source

Für viele Anwender birgt Cygwin einige Schwierigkeiten, nicht zuletzt, weil schon der Download etwas verwirrend ist. Aber es ist den Aufwand wert und falls Sie genervt sind, bleiben Sie geduldig. Mit Hilfe der folgenden Anweisungen sollte die Installation kein Problem mehr darstellen.

  • Laden Sie Cygwin herunter und installieren Sie es. Sie können es vom Internet installieren, aber es ist schneller (und effizienter) von der Festplatte zu installieren. Ich habe trotzdem die Installation vom Internet gewählt, was auch relativ schnell ging.
  • Klicken Sie auf die setup.exe von Cygwin und folgen Sie den Anweisungen, wobei Sie die Standardwerte akzeptieren. An dem Punkt, an dem Sie nach dem Text Format gefragt werden und danach, ob Sie Cygwin nur für sich oder für alle installieren möchten, können Sie im Prinzip auswählen was Sie möchten. Allerdings ist es zum Wohle der leichten Benutzbarkeit, wenn Sie "Unix" und "All" auswählen. Wenn Sie nach den Paketen, die Sie installieren möchten, gefragt werden, wählen Sie die beiden OpenSSH-Pakete aus. Anschließend wird Cygwin installiert und es werden Symbole im Startmenü und auf dem Desktop erstellt. Falls das nicht passiert, führen Sie das Setup nochmals aus. Es wird nichts installiert, falls nichts installiert werden muss, aber das Setup wird zum Ende kommen und Sie fragen wo Symbole eingerichtet werden sollen.
  • Das Erstellen der Unix-Verzeichnisse fällt in der von mir getesteten Version weg.
  • Es gibt noch einen, optionellen, Schritt. Damit Cygwin effizient läuft, können Sie das Symbol auf dem Desktop so konfigurieren, dass das Programm im richtigen Verzeichnis startet. Das ist nicht notwendig, falls Sie das home-Verzeichnis in der .bat -Datei angegeben haben.
  • Cygwin bietet einige weitere Raffinessen und es ist sicherlich zweifellos ein bisschen Tuning notwendig, falls Sie möchten, dass das Programm effizient läuft. Wie gesagt, Sie werden sich schnell zurechtfinden, wenn Sie mit den Unix-Kommandos und Dateistrukturen vertraut sind; falls Sie das nicht sind, können Sie mit Cygwin mit minimalem Aufwand anfangen.
  • Falls Sie aber lediglich den SSH2-Tunnel aufbauen möchten, reicht das Cygwin, wie Sie es nach der Durchführung dieser Anleitung haben, vollkommen aus, da immer nur ein Befehl ausgeführt werden muss.

Generieren des Schlüsselpaars mit Cygwin: Unix-Kommandos

  1. Öffnen Sie Cygwin. Falls es richtig konfiguriert ist, sollten Sie sich schon in Ihrem home-Verzeichnis befinden. Um das herauszufinden geben Sie an der Eingabeaufforderung pwd ein. Daraufhin wird das Verzeichnis angezeigt, in dem Sie sich momentan befinden. Falls das Ergebnis nicht Ihrem home-Verzeichnis entspricht, wechseln Sie mit der Eingabe von cd ~ in Ihr home-Verzeichnis.
  2. Geben Sie ssh-keygen -d ein. Diese Anweisung fordert das Programm auf, den SSH2-Schlüssel zu erzeugen (der Parameter -d gibt an, dass ein DSA-Schlüssel erzeugt werden soll). Falls Sie als Fehler command not found erhalten, haben Sie bei der Installation vermutlich vergessen die OpenSSH-Pakete auszuwählen. Führen Sie das Setup-Programm in diesem Fall einfach erneut aus.
  3. Je nachdem, wie schnell Ihr Prozessor ist müssen Sie nun von wenigen Sekunden bis zu mehreren Minuten warten.
  4. Nun werden Sie gefragt, wo der Schlüssel gespeichert werden soll. Sie sollten den Standardvorschlag akzeptieren. Falls Sie einen eigenen Pfad angeben, sollten Sie mit den Unix-Dateistrukturen vertraut sein.
  5. Jetzt sollen Sie die "Passphrase" eingeben. Das ist so etwas wie ein Passwort, nach dem Sie bei jeder Anmeldung gefragt werden. Es wird dringend empfohlen eine Passphrase einzugeben und das ist auch gut so. Sie sollten kein Wort verwenden, das als solches existiert. Besser ist eine Kombination aus Zahlen und Buchstaben. Merken Sie sich diese Passphrase gut, da Sie bei jeder Anmeldung am SSH2-Server mit Ihrem Schlüssel eingegeben werden muss.
  6. Falls Sie eine korrekte Passphrase eingegeben haben (und Sie werden zweimal gefragt, um sicherzustellen, dass sich beim Eingeben kein Tippfehler eingeschlichen hat), wird angezeigt, dass die "Identifikation" in der angegebenen Datei gespeichert wurde und dass der öffentliche Schlüssel den gleichen Dateinamen hat, aber zusätzlich noch die Erweiterung .pub hat. Diese Erweiterung gibt an, dass es sich um den "public key" handelt.
  7. Sie können den Schlüssel nun mit IssueZilla an OpenOffice.org übertragen. Das ist unten ausführlich beschrieben.

Herstellen eines Tunnels mit Cygwin: Unix-Anweisungen (geeignet für Linux, OS X, etc.)

  • Starten Sie zuerst das Programm.
  • An der Eingabeaufforderung geben Sie ssh -2 -x -L 2401:localhost:2401 tunnel@openoffice.org ein.
  • Der Server sollte Sie nun nach Ihrer Passphrase fragen. Geben Sie diese ein. Falls die Passphrase falsch eingegeben wurde, fragt der Server sofort nach Ihrem Passwort. Dabei handelt es sich um eine andere Art der Anmeldung, die Ihnen nicht zur Verfügung steht. Daher brechen Sie das Programm mit Strg+C ab und starten Sie einen neuen Versuch.
  • Falls dies Ihre erste Anmeldung ist, wird der Server folgende Meldung senden, die wie folgt aussieht:
    • Host key not found from the list of known hosts.
    • Are you sure you want to continue connecting (yes/no)?
  • Geben Sie yes ein. Sie können nicht nur ein y eingeben, sondern müssen es ausschreiben.
  • Der Server antwortet mit: Host openoffice.org added to the list of known hosts.
  • Es erscheint keine Eingabeaufforderung mehr. Der Tunnel wurde hergestellt und Sie können sich mit Ihrem CVS-Client anmelden.
  • Sie können das Terminal-Fenster jetzt minimieren, aber nicht schließen. Mit dem Schließen des Fensters oder mit dem Drücken von Strg+C beenden Sie den Tunnel.

Submitting Your Certificate (Public Key)

Zum Übertragen des Schlüssels erstellen Sie in IssueZilla eine neue Aufgabe (task) für die Komponente "www" und die untergeordnete Komponente "openoffice.org CVS". An diesen Einträg hängen Sie als Anhang den öffentlichen Schlüssel. In dem Kommentar erwähnen Sie bitte auch den Zeitpunkt, zu dem Sie das "Contributor Assignment" abgesendet haben (und die Art des Versands). Des Weiteren sollten die Module erwähnt werden, auf die Sie Zugriff haben möchten. Sie sollten den zuständigen Projektleiter einbeziehen, da dieser Ihnen den Zugang gewähren muss. Sie werden automatisch von IssueZilla benachrichtigt, wenn jemand antwortet. Dies passiert, wenn das Team von OpenOffice.org die Schlüssel auf dem Server registriert hat.

Was tun, sobald der Tunnel hergestellt ist

Okay, Sie sind bis hierhin gekommen. Sie haben jetzt einen Tunnel zu dem CVS-Server hergestellt. Dieser Tunnel ist keine Shell, d.h. Sie werden keine Ihnen mehr oder weniger vertrauten Unix-Elemente mehr zu Gesicht bekommen. Es bleibt nur ein leerer Bildschirm, auf dem lediglich steht, wann zuletzt jemand eingeloggt war.

Was müssen Sie jetzt tun? Sich mit Ihrem CVS-Client anmelden. Wie bereits gesagt behandelt dieses Dokument nicht CVS, sondern lediglich die Herstellung des SSH-Tunnels. Dieser Prozess ist deutlich von dem Login am CVS-Archiv getrennt. Der Tunnel ermöglicht Ihnen erst sich anzumelden. Für eine Dokumentation, die beschreibt, wie man sich per CVS anmeldet, konsultieren Sie den CVS-Abschnitt für Linux oder Windows in der OpenOffice.org-Dokumentation.

Beenden des Tunnels

Der einfachste Weg den Tunnel zu beenden ist das Drücken von Strg+C . Sowohl unter Mac OS als auch unter Windows können Sie auch einfach das Fenster Ihres Clients schließen, um den Tunnel zu beenden.

Zusätzliche Dokumentation

Valid XHTML 1.0 Transitional