Wie kann ich die Server-Webseite auf meinem Laptop tunneln und durchsuchen?

55

Ich führe eine Web-App auf einem meiner Laborserver aus und habe auf diesen Computern bereits die X11-Weiterleitung eingerichtet. Andere Labormitglieder können durch SSH tunneln und diese Web-App in ihrem lokalen Browser zu Hause durchsuchen.

Ich kann nicht Das letzte Mal, als ich mich bei ihnen erkundigt habe, gibt es fast nichts, was ich tun muss.

Wenn ich tippe, 192.168.1.113/webappbekomme ich nichts.

Irgendwelche Tipps?

Vielen Dank.


Ich endete mit der zweiten Methode :)

ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N
CppLearner
quelle
@BlueXrider allgemein, ja, zum Thema, ja. Für so etwas spielen die Versionen von Ubuntu keine Rolle, es ist ungefähr so ​​thematisch wie Was ist ein Torrent und wie verwende ich ihn, der thematisch betrachtet wird. :)
jrg

Antworten:

105

Es gibt zwei Möglichkeiten, wie Sie dies mit SSH tun können.

Tunneln Sie alles mit einem SOCKS-Proxy

Melden Sie sich mit dem folgenden Befehl beim Remote-Computer an:

ssh -D 8080 remote-host

Rufen Sie nun die Proxy-Einstellungen Ihres Browsers auf und konfigurieren Sie ihn so, dass er einen SOCKS-Proxy mit Hostnamen 127.0.0.1und Port 8080(oder einem beliebigen Port, den Sie an die -DOption übergeben haben) verwendet. Jetzt werden alle Seiten, die Sie in Ihrem Webbrowser laden, über die SSH-Verbindung getunnelt. Sie sollten nun in der Lage sein, auf die private Webseite auf dieselbe Weise zuzugreifen, wie Sie es vom Remote-Host aus tun würden.

Wenn Sie fertig sind, setzen Sie die Proxy-Einstellungen Ihres Browsers auf Normal zurück.

Ein Nachteil dieser Methode ist, dass der gesamte andere Datenverkehr im Webbrowser ebenfalls über die SSH-Verbindung geleitet wird. Andererseits können Sie auf die Remoteserver mit ihren tatsächlichen Hostnamen zugreifen und problemlos auf mehrere private Sites zugreifen.

Tunneln Sie einen einzelnen Port.

Die alternative Methode besteht darin, SSH zum Weiterleiten eines einzelnen Ports zu verwenden:

ssh -L 8080:server-hostname:80 remote-host

Wenn Sie jetzt mit Ihrem Webbrowser auf zeigen http://localhost:8080/, sollten Sie den Inhalt so sehen, http://server-hostname/wie er vom Remote-Host angezeigt wird .

Der Vorteil dieser Methode ist, dass der Rest des Browserverkehrs in Ruhe gelassen wird. Der Nachteil ist, dass einige Links möglicherweise nicht funktionieren, wenn die entfernte Site absolute URL-Verweise verwendet. Wenn die Site hauptsächlich relative URL-Verweise verwendet, sollte diese Methode ausreichen.

Für beide dieser Lösungen ist der Port nichts Besonderes 8080. Sie können eine beliebige freie lokale Portnummer verwenden, solange Sie daran denken, dieselbe im sshAufruf und im Webbrowser zu verwenden.

James Henstridge
quelle
3
Vielen Dank. Es war sehr hilfreich! Ich habe es so geschafft: so ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -Netwas (die zweite Methode).
CppLearner
Ist es richtig, dass ich in der ersten Methode nur einen Socks-Proxy konfigurieren muss (siehe: spareclockcycles.files.wordpress.com/2009/04/… ). Dh es würde nicht funktionieren, wenn ich den http-Proxy auf 127.0.0.1:8080 zeige? Wenn das stimmt, könntest du vielleicht in deiner tollen Antwort darauf hinweisen, dass man nur den Socken-Proxy einrichten muss .
Schüler
Wenn Sie Chrome (zweiter Browser?) Verwenden, können Sie den Proxy-Parameter für SOCKS5 direkt beim Start übergeben: chromium-browser --proxy-server = "socks5: // localhost: 8080"
panticz.de 18.11.15