GNU/Linux >> LINUX-Kenntnisse >  >> Linux

HTTP-Proxy über ssh, nicht Socken

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
Linux
  1. Eine Anleitung zum Ausführen eines Reverse-Proxys für HTTP(S), SSH und MySQL/MariaDB mit NGINX

  2. SOCKS-Web-Proxy mit SSH erstellen

  3. Ssh – Beschränken eines Ssh/scp/sftp-Benutzers auf ein Verzeichnis?

  4. Ssh – Stdout über Ssh umleiten?

  5. Wie benachrichtigt man über den Abschluss einer langen Aufgabe über SSH?

Umgehen Sie Ihre Linux-Firewall mit SSH über HTTP

So übertragen Sie Dateien mit Rsync über SSH

SSHFS:Mounten eines Remote-Dateisystems über SSH

Verwenden Sie ein Gerät über SSH?

Pushing meiner PS1-Eingabeaufforderung über ssh

Wie verwenden Sie auf einem Linux-Server mehrere Terminals über eine einzige SSH-Verbindung?