Methode 1: Verwenden Sie einen HTTP-Proxy, der die Verwendung eines SOCKS-Upstreams unterstützt, z. Polipo oder Privoxy.
Richten Sie zuerst einen -D
ein wie immer über SSH tunneln, dann den HTTP-Proxy so konfigurieren, dass er den SSH-Tunnel verwendet – Beispiel für eine Polipo-Konfiguration:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "localhost:8080"
socksProxyType = socks5
Richten Sie die App schließlich mit http_proxy=localhost:8118
auf Polipo .
Methode 2: Führen Sie Ihr Programm innerhalb von torsocks
aus Wrapper (oder das ältere tsocks
), die alle Verbindungen transparent weiterleitet. Es war für die Verwendung mit Tor gedacht, funktioniert aber mit jedem SOCKS-Server, einschließlich ssh -D
.
Methode 3: Richten Sie einen HTTP-Proxy auf Ihrem Server ein , dann verwenden Sie ssh -L
um darauf zuzugreifen.
Alle -D
Ergebnisse in einen SOCKS-Server. Wenn Ihr Client SOCKS nicht verarbeiten kann, vergessen Sie -D
.
Sie müssen einen HTTP-Proxy auf dem Remote-Host ausführen und mit -L
weiterleiten :
ssh -f -N -n -L8080:127.0.0.1:8080 host
Ich habe das gleiche Problem, das den HTTP-Proxy über SSH verwenden möchte. Da viele Anwendungen nur den HTTP-Proxy unterstützen und der HTTP-Proxy einfach in der Befehlszeilenumgebung verwendet werden kann.
Ich habe zwar mehrere Seiten durchsucht, aber ich kann keinen direkten (kann mit Polipo, Privoxy oder tsocks verkettet werden) Weg finden, dies zu tun ...
Nach eintägiger Arbeit habe ich eine einfache Golang-Version des HTTP-Proxys über SSH fertiggestellt. Fühlen Sie sich frei, damit zu spielen:Mallory.
Unterstützt derzeit nur RSA-Schlüssel (zu finden unter $HOME/.ssh/id_rsa) und Passwortautorisierung.
host
ist die SSH-Serveradresse, port
ist 22
if wird von Ihrem Administrator nicht geändert. Die Serverseite ist nur unser alter Freund sshd
ohne Konfiguration.
mallory -engine=ssh -remote=ssh://host:port
oder mit dem Benutzernamen user
mallory -engine=ssh -remote=ssh://[email protected]:port
oder mit Benutzername user
und Passwort 1234
mallory -engine=ssh -remote=ssh://user:[email protected]:port
Nach der Verbindung wird ein HTTP-Proxy auf localhost:1315.
bereitgestellt