Ein SSH-Tunnel kann verwendet werden, um die Kommunikation zwischen einem Client und einem Server zu sichern, die auf andere Weise nicht gesichert werden kann, z. B. wenn die gesamte oder ein Teil der Anwendungsquelle nicht verfügbar ist oder es als zu kostspielig erachtet wird, sie zu ändern, um verschlüsselte Kommunikation hinzuzufügen.
Ausgehend von den Fragen, die ich in den letzten Monaten gesehen habe, ist der Prozess der Einrichtung und Verwendung eines SSH-Tunnels nicht gut verstanden worden. Im Folgenden versuche ich, ihn zu erklären.
Zunächst möchte ich die bestehende unsichere Methode beschreiben: Eine Anwendung auf einer Workstation stellt eine Verbindung zu einem Dienst her, der auf dem VOS läuft und einen bestimmten Port abhört, beispielsweise 12345. Dies ist die grüne Linie in Abbildung 1, die von der Workstation zum VOS führt. Die über diese Verbindung gesendeten Daten sind unverschlüsselt, so dass jeder, der Zugang zu einem beliebigen Netzwerk hat, das die Verbindung durchquert, die Daten abfangen und lesen kann.
Um diese Kommunikation zu sichern, wird als erstes die SSH-Verbindung eingerichtet, die als Tunnel dient. Diese geht von der Workstation zu dem Port, den der SSH-Dienst auf VOS abhört. Standardmäßig ist dies Port 22 (die rote Linie in Abbildung 1). Der SSH-Client auf der Arbeitsstation muss so konfiguriert werden, dass er den SSH-Dienst auf VOS nicht auffordert, ein Pseudo-Terminal einzurichten, da sonst eine Anmeldesitzung und kein Tunnel entsteht. Die Einrichtung eines SSH-Tunnels verhindert nicht, dass jemand die Daten abfängt, aber die abgefangenen Daten werden verschlüsselt.
Der SSH-Client auf der Arbeitsstation muss ebenfalls mit 2 zusätzlichen Informationen konfiguriert werden. Erstens den Port auf der Workstation, der als Eingang des Anwendungsclients zum Tunnel fungiert. Nennen Sie Port 24680, aber es kann auch ein beliebiger unbenutzter Port verwendet werden. Zweitens die IP-Adresse und der Port, mit denen sich der SSH-Dienst auf VOS verbindet, wenn eine Verbindung über den Tunnel hergestellt wird. In unserem Beispiel wäre die IP-Adresse 127.0.0.1 und der Port wäre 12345. Wie dies genau eingerichtet wird, hängt vom jeweiligen Client ab.
Die auf der Arbeitsstation laufende Client-Anwendung muss nun so konfiguriert werden, dass sie sich mit dem lokalen Host der Arbeitsstation (127.0.0.1) und dem Tunneleingangsport 24680 verbindet. Am Anwendungsdienst, der auf dem VOS läuft, gibt es keine Änderungen, er muss weiterhin laufen und auf Port 12345 lauschen. Die Schritte sind:
1) Starten Sie den Anwendungsdienst auf dem VOS oder stellen Sie sicher, dass er läuft.
2) Starten Sie den SSH-Dienst (sshd) auf dem VOS oder stellen Sie sicher, dass er läuft.
3) Starten Sie den SSH-Client auf der Arbeitsstation und bauen Sie die Tunnelverbindung auf (rote Linie).
4) Starten Sie den Anwendungsclient auf der Arbeitsstation und lassen Sie ihn eine Verbindung zum SSH-Tunnel-Eingangsport herstellen (blaue Linie)
5) Der sshd-Prozess auf dem VOS stellt automatisch eine Verbindung zu dem auf dem VOS laufenden Anwendungsdienst her (orangefarbene Linie)