SSH Tunneling erklärt, Quelle öffnen
Einführung
Einzurichten, benötigt einen SSH Tunnel ein gegebener Port von einer Maschine weitergeleitet werden (von
die werde ich in kurzer Zeit sprechen) zu einem Hafen in der anderen
Maschine, die das andere Ende des Tunnels sein. Sobald der SSH-Tunnel wurde
etabliert, kann der Benutzer auf früheren angegeben Port auf dem ersten Maschine verbinden
Zugriff auf den Netzwerkdienst.
Port-Weiterleitung
SSH Tunnel können auf verschiedene Arten mit unterschiedlichen Arten von Port-Forwarding erstellt werden
Mechanismen. Ports können auf drei Arten weitergeleitet werden.
- Local Port-Forwarding
- Remote-Port-Forwarding
- Dynamische Port-Weiterleitung
Ich habe nicht erklären, was Port-Forwarding ist. Ich fand Wikipedia-Definition mehr erklärend.
Port-Forwarding oder Port-Mapping ist ein Name, der kombinierten Technik gegeben von
- Übersetzen der Adresse und / oder Portnummer eines Pakets zu einem neuen Ziel
- möglicherweise solches Paket zu akzeptieren (s) in einem Paketfilter (Firewall)
- Weiterleiten des Pakets gemäß der Routing-Tabelle.
Hier ist die erste Technik wird bei der Schaffung eines SSH-Tunnel verwendet werden. Wenn eine Client-Anwendung auf den lokalen Port (lokale Endpunkt) verbindet der SSH-Tunnel und Überweisungsdaten werden diese Daten durch Übersetzen der Host- und Portwerten der von dem entfernten Ende des Kanals an dem fernen Ende zugeleitet.
Also mit dieser mal sehen, wie SSH-Tunnel können per weitergeleitet Ports mit einem Beispiel erstellt werden.
Tunneling mit Local Port-Forwarding
Lassen Sie uns sagen, dass yahoo.com blockiert wird in der Universität einen Proxy-Filter.
(Aus Gründen der diesem Beispiel.). Kann keine triftigen Grund denken, warum Yahoo blockiert werden würde). Ein Tunnel SSH kann verwendet werden, um diese Einschränkung zu umgehen. Lassen Sie sich an der Universität als ‚Arbeit‘ meine Maschine Namen und meine Hauptmaschine als ‚zu Hause‘. ‚Heimat‘ braucht eine öffentliche IP haben für diese zu arbeiten. Und ich bin mit einem SSH-Server auf meinem Rechner zu Hause. Folgende Abbildung zeigt das Szenario.

So erstellen Sie führen Sie den SSH-Tunnel folgenden von ‚Arbeit‘ Maschine.
Die ‚L‘ Schalter geben an, dass eine lokale Port-Weiterleitung erstellt werden soll, benötigen. Der Schalter Syntax lautet wie folgt.
Jetzt ist der SSH-Client auf ‚Arbeit‘ wird auf SSH-Server eine Verbindung zu ‚Heimat‘ läuft (in der Regel am Anschluss läuft 22) Bindung Port 9001 von ‚Arbeit‘ für lokale Anfragen hört damit einen SSH-Tunnel zwischen ‚zu Hause‘ und ‚Arbeit‘ zu schaffen . Am ‚Heimat‘ am Ende wird es eine Verbindung zu ‚yahoo.com‘ am Hafen schaffen 80. So ‚Arbeit‘ braucht nicht zu wissen, wie man yahoo.com verbinden. Nur ‚Heimat‘ muss darüber Sorgen zu machen. Der Kanal zwischen ‚Arbeit‘ und ‚Heimat‘ wird verschlüsselt, während die Verbindung zwischen ‚zu Hause‘ und ‚yahoo.com‘ unverschlüsselt sein wird.
Das Bild unten beschreibt das Szenario.

Hier ist der ‚Gastgeber‘ zu ‚yahoo.com‘ Verbindung wird nur gemacht, wenn Browser das macht
nicht am Tunnel Rüstzeit fordern.
Es ist auch möglich, einen Port in der ‚Heimat‘ Computer angeben, sich statt
Anschließen an einen externen Host. Dies ist nützlich, wenn ich eine VNC-Sitzung einzurichten war
zwischen ‚Arbeit‘ und ‚zu Hause‘. Dann würde die Befehlszeile wie folgt sein.
Also hier was tut localhost beziehen sich auf? Ist es die ‚Arbeit‘, da die Befehlszeile von ‚Arbeit" ausgeführt wird? Es stellte sich heraus, dass es nicht ist. Wie bereits erläutert ist früher gegenüber dem Gateway ( ‚Heimat‘ in diesem Fall). nicht die Maschine, von wo der Tunnel eingeleitet wird. So wird dies eine Verbindung zum Port 5900 der ‚Heimat‘ Computer machen, wo das VNC-Client in zuhören würde.
Die erstellte Tunnel können alle Arten von Daten verwendet werden, um Übertragung nicht auf dem Web-Browser-Sitzungen beschränkt. Wir können auch Tunnel SSH-Sitzungen von diesem als auch. Nehmen wir an, es einen anderen Computer ( ‚verboten '), auf die wir brauchen, von innen Universität SSH aber der SSH-Zugriff blockiert. Es ist möglich, eine SSH-Sitzung zu diesem Host-Tunnel nach vorn einem lokal Port. Das Setup würde wie folgt aussehen.

Wie nun die übertragenen Daten zwischen ‚Arbeit‘ und ‚verboten‘ zu sehen sind verschlüsselt Ende zu Ende. Dafür brauchen wir einen lokalen Port-Weiterleitung wie folgt zu erstellen.
Jetzt brauchen wir eine SSH-Sitzung zu lokal Port 9001 aus, wo die Sitzung erstellen
zu ‚verboten‘ über ‚Heimat‘ Computer erhalten getunnelt.
Damit lassen Sie sich auf zum nächsten Art von SSH-Tunneling-Methode bewegen, Reverse-Tunneling.
Reverse-Tunneling mit Remote-Port-Weiterleitung
Wie im früheren Fall werden wir den Tunnel von ‚Arbeit‘ Computer hinter der Firewall initiieren. Dies ist möglich, da nur eingehende Datenverkehr blockiert und ausgehenden Datenverkehr erlaubt. Doch statt der früheren Fall wird nun der Kunde an der ‚Heimat‘ Computer sein. Anstelle der Option -L definieren wir jetzt -R, die angibt,
ein Reverse-Tunnel müssen erstellt werden.

Dynamic Port Forwarding
Dynamische Port-Weiterleitung ermöglicht einen lokalen Port für die Tunneldaten an alle Remote-Ziele zu konfigurieren. dies die Client-Anwendung einer Verbindung zu lokal Port zu nutzen, sollte jedoch ihren Verkehr mit dem SOCKS-Protokoll senden. Auf der Client-Seite des Tunnels ein SOCKS-Proxy erstellt werden würde, und die Anwendung (z. B. Browser) verwendet das SOCKS-Protokoll angeben, wo der Verkehr gesendet werden soll, wenn es das andere Ende des SSH-Tunnel verlässt.
Hier SSH eine SOCKS-Proxy-Mithören für Verbindungen mit lokal Port erstellen
9001 und auf den Empfang einer Anforderung würde Strecke den Verkehr über SSH-Kanal
zwischen ‚Arbeit‘ und ‚Heimat‘ geschaffen. Hierzu ist es erforderlich, die konfigurieren
Browser an den SOCKS-Proxy auf Port 9001 auf localhost zu zeigen.
