18.5. Mehr als eine Secure Shell

Eine sichere Befehlszeilenschnittstelle stellt nur eine der vielen Arten und Weisen dar, wie SSH verwendet werden kann. Mit einer angemessenen Bandbreite können X11-Sitzungen über einen SSH-Kanal verwaltet werden. Mithilfe von TCP/IP-Forwarding können bisher unsichere Port-Verbindungen zwischen Systemen auf spezifische SSH-Kanäle gemappt werden.

18.5.1. X11 Forwarding

Eine X11-Sitzung über eine bestehende SSH-Verbindung zu öffnen ist so einfach wie das Ausführen eines X-Programms, während Sie bereits einen X-Client auf Ihrem Host ausführen. Wird ein X-Programm von einem Secure Shell Prompt ausgeführt, erstellen der SSH-Client und -Server einen neuen, verschlüsselten Kanal in der aktuellen SSH-Verbindung, und die Daten des X-Programms werden über diesen Kanal auf Ihren Client-Rechner gesendet.

Sie können sich sicherlich vorstellen, wie nützlich X11-Forwarding sein kann. Sie können hiermit zum Beispiel eine sichere, interaktive Sitzung mithilfe von up2date auf dem Server erstellen. Verbinden Sie sich hierzu über ssh mit dem Server und geben Sie Folgendes ein:

up2date &

Sie werden nun aufgefordert, das root-Passwort für den Server einzugeben. Anschließend erscheint Red Hat Update Agent, und Sie können Ihre Pakete auf dem Server aktualisieren, als ob Sie direkt vor Ihrem Rechner sitzen würden.

18.5.2. Port Forwarding

Mit SSH können Sie unsichere TCP/IP Protokolle via Port Forwarding sichern. Bei dieser Technik wird der SSH-Server zu einer verschlüsselten Verbindung zum SSH-Client.

Beim Port Forwarding wird ein lokaler Port in einem Client zu einem remote Port auf dem Server gemappt. Mit SSH können Sie jeden Port des Servers auf jeden Port des Clients übertragen; die Portnummern müssen hierfür nicht übereinstimmen.

Um einen TCP/IP Port Forwarding Kanal zu erstellen, der nach Verbindungen im lokalen Host sucht, verwenden Sie folgenden Befehl:

ssh -L local-port:remote-hostname:remote-port username@hostname

AnmerkungAnmerkung
 

Für das Einrichten von TCP/IP-Forwarding-Kanälen für Ports mit weniger als 1024 Zylindern müssen Sie als root angemeldet sein.

Wenn Sie zum Beispiel Ihre E-Mails auf einem Server mit dem Namen mail.domain.com mithilfe von POP über eine verschlüsselte Verbindung abrufen möchten, verwenden Sie folgenden Befehl:

ssh -L 1100:mail.example.com:110 mail.example.com

Nachdem TCP/IP-Forwarding zwischen Ihrem Rechner und dem Mailserver eingerichtet wurde, können Sie einen POP-Mail-Client anweisen, localhost als POP-Server und 1100 als Port für das Abrufen neuer E-Mails zu verwenden. Alle an Ihren Port 1100 gesendeten Anforderungen werden auf diese Weise sicher an den Server mail.domain.com weitergeleitet.

Wenn mail.domain.com keinen SSH-Serverdämon ausführt, Sie sich jedoch über SSH an einem nahen Rechner anmelden können, können Sie dennoch SSH verwenden, um den Teil der POP-Verbindung zu sichern, der über öffentliche Netzwerke läuft. Hierzu ist ein Befehl notwendig:

ssh -L 1100:mail.example.com:110 other.example.com

In diesem Beispiel leiten Sie Ihre POP-Anforderung von Port 1100 Ihres Rechners über die SSH-Verbindung auf Port 22 an den ssh-Server weiter. Anschließend verbindet sich other.domain.com mit Port 110 auf mail.domain.com, so dass Sie neue E-Mails abrufen können. Beachten Sie, dass bei Verwendung dieser Methode nur die Verbindung zwischen Ihrem System und dem other.domain.com SSH Server sicher ist.

Dies kann sehr nützlich sein, wenn Sie Informationen sicher über Netzwerk-Firewalls übertragen möchten. Wenn die Firewall so konfiguriert ist, dass SSH-Kommunikationen über den Standardport (22) erfolgen, die Übertragung über andere Ports jedoch gesperrt ist, ist eine Verbindung zwischen zwei Rechnern mit gesperrten Ports weiterhin möglich, indem die Meldungen über eine festgesetzte SSH-Verbindung zwischen diesen Rechnern übermittelt werden.

AnmerkungAnmerkung
 

Die Verwendung von Port Forwarding für das Weiterleiten von Verbindungen ermöglicht es jedem Benutzer des Client-Servers, sich mit dem Dienst zu verbinden, an den Sie Verbindungen weiterleiten. Dies ist besonders dann gefährlich, wenn Ihr Client-System auf irgendeine Art und Weise beschädigt ist.

System-Administratoren können diese Funktion auf dem Server deaktivieren, indem sie in der AllowTcpForwarding Zeile No in /etc/ssh/sshd_config eingeben und den sshd Dienst neu starten.