SOCKS vs. SSH Local Port Forwarding

Antworten:

23

Mit -Lleitet SSH alle Verbindungen an ein festes Ziel weiter. Wenn Sie eine Verbindung zum lokalen Port herstellen, werden alle von Ihnen gesendeten Daten direkt an den Remote-Host gesendet, den Sie in angegeben haben -L. Dazu müssen Sie natürlich wissen, zu welchem ​​Host Sie Verbindungen weiterleiten möchten.

Bei -Dist das Ziel "dynamisch" - nach dem Herstellen einer Verbindung zum lokalen Port müssen Sie das SOCKS-Proxy-Protokoll verwenden, um eine weitere Verbindung zu einem beliebigen Remote-Host herzustellen. Dies macht SSH im Grunde zu einem echten Proxy-Server, der für Aktivitäten wie das Surfen im Internet geeignet ist, bei denen Sie das Ziel nicht im Voraus kennen.

Führen Sie ssh -D 1080beispielsweise Firefox aus und konfigurieren Sie es so, dass ein SOCKS 5-Proxy unter verwendet wird localhost:1080.

user1686
quelle
2
Ich benutze es oft, ssh -D 8080 myhomecomputerwenn ich meinen Laptop im öffentlichen WLAN verwende.
Evan Krall
2
@EvanKrall Ist der Vorteil dieses Ansatzes die Tatsache, dass der gesamte Datenverkehr (vorausgesetzt, die Anwendungen verwenden tatsächlich den SOCKS-Proxy) über Ihre SSH-Verbindung verschlüsselt wird (dh es werden keine Klartext- Netzwerkanforderungen gestellt)? Wie kann man außerdem sicherstellen, dass der gesamte Datenverkehr über den Proxy gesendet wird? Gibt es eine empfohlene Möglichkeit, dies für alle Anwendungen zu tun?
Blong
1
@blong: Es wird empfohlen, stattdessen eine betriebssystemweite VPN-Verbindung zu verwenden.
user1686
Ah, ich verstehe, danke @grawity. Ich dachte, es könnte etwas sein, das man ohne einen VPN-Client implementieren könnte :)
blong