Ich möchte einen Server als SOCKS-Proxy für das Surfen von meinem Laptop aus verwenden.
Laut OpenSSHs Manpage können Sie das mit dem opcion machen -D
-D Port
Gibt eine lokale dynamische Portweiterleitung auf Anwendungsebene an. Dies funktioniert durch Zuweisen eines Sockets zum Abhören des Ports auf der lokalen Seite. Wenn eine Verbindung zu diesem Port hergestellt wird, wird die Verbindung über den sicheren Kanal weitergeleitet, und das Anwendungsprotokoll wird verwendet, um zu bestimmen, wo von der Remote aus eine Verbindung hergestellt werden soll Maschine. Derzeit werden die Protokolle SOCKS4 und SOCKS5 unterstützt, und ssh wird als SOCKS-Server fungieren. Nur Root kann privilegierte Ports weiterleiten. Dynamische Portweiterleitungen können auch in der Konfigurationsdatei angegeben werden.
Also habe ich auf meinem Server (IP 192.168.0.5) den folgenden Befehl eingegeben:
ssh localhost -D3333
(eine SSH-Verbindung zu sich selbst)
Das sollte dafür sorgen, dass Port 3333 abgehört wird.
Dann habe ich meinen Browser so konfiguriert, dass er den SOCKS-Proxy 192.168.0.5:3333 verwendet
Es scheint jedoch nicht zu funktionieren, der Browser meldet, dass die Verbindung nicht hergestellt werden konnte.
Was mache ich falsch?
Kann das mit OpenSSH gemacht werden?
MEHR INFO:
Die Ausgabe von netstat -aon
sagt:
tcp 0 0 ::1:3333 :::* LISTEN off (0.00/0/0)
tcp 0 0 :::587 :::* LISTEN off (0.00/0/0)
tcp 0 0 :::465 :::* LISTEN off (0.00/0/0)
tcp 0 0 :::21 :::* LISTEN off (0.00/0/0)
tcp 0 0 :::22 :::* LISTEN off (0.00/0/0)
tcp 0 0 :::25 :::* LISTEN off (0.00/0/0)
quelle
chrome --proxy-server="socks5://192.168.0.5:3333"
hinzugefügt - eine andere ist zu versuchencurl --socks5 192.168.0.5:3333 http://blah
(curlis auf gnuwin32 oder cygwin) Auch ein Versuch mit 127.0.0.1 lohnt sichnetstat
. Anscheinend ist das Problem, dass es nur localhost zuhört und nicht jeder ??*:3333
also nehme ich anssh -D *:3333
Dann sollte es mehr als nur einem lokalen Host offen stehen, um eine Verbindung zu ihm herzustellen. (Wenn das Ihr Problem war, dann könnte das helfen.) Aber warum nicht einfach versuchen, eine Verbindung von localhost zu localhost herzustellen?Antworten:
Standardmäßig überwacht "ssh -D 3333" nur localhost, um zu verhindern, dass andere Benutzer in Ihrem Netzwerk eine Verbindung über Ihren Proxy herstellen.
Wenn sich Ihr Browser auf demselben Computer befindet, sollten Sie 127.0.0.1:3333 als Proxyserver verwenden.
Andernfalls können Sie die dynamische Weiterleitung von ssh für andere Hosts zugänglich machen, indem Sie Folgendes verwenden:
quelle