Kann ich über einen SSH-Tunnel auf einen Webserver zugreifen, der eine andere IP / einen anderen Port auf demselben Server überwacht?

9

Ich habe einen Webserver, der noch nicht für die allgemeine Verfügbarkeit bereit ist, möchte aber dennoch einige Dinge aus der Ferne testen. Kann ich einen SSH-Tunnel nutzen, um eine Verbindung zum Server herzustellen, und dann über den Tunnel zu dem Webdienst weiterleiten, der auf demselben Server ausgeführt wird? Wenn das so ist, wie?

Mir ist klar, dass die Implementierung von Firewall-Ausnahmen einfacher wäre, aber das ist derzeit keine Option.

Entschuldigung, wenn dies verwirrend ist. Ich stimme zu, dass es ein einzigartiges Szenario ist.

CentOS 5.x.

Mike B.
quelle

Antworten:

8

Ich weiß, dass das Cherokee-Management auf diese Weise funktioniert. Nehmen wir also an, Sie haben Ihren Webserver an Ihren lokalen Host an Port 8080 gebunden

ssh -L 8080:localhost:8080 your_servers_ip

Danach können Sie über http: // localhost: 8080 auf die Remote-Schnittstelle zugreifen. Jede Anforderung wird an die Remote-IP weitergeleitet, auf der Ihr Webserver ausgeführt wird.

Lucas Kauffman
quelle
Vielen Dank. Nebenbei bemerkt musste ich auch meine Hosts-Datei ändern, um die Adresse zu nutzen (wie erwartet).
Mike B
4

Was Lucas gesagt hat, wo "localhost" auch eine vom SSH-Host erreichbare IP-Adresse sein kann.

Beachten Sie, dass Sie, wenn Sie virtuelle Hosts mit Namen verwenden, auch einen / etc / hosts-Hack durchführen müssen, damit Sie etwas an die vorhandene Zeile 127.0.0.1 anhängen, etwa:

127.0.0.1   localhost  secretwebserver.example.com

Ihr Browser kann dann http://secretwebserver.example.com:8080 verwenden .

cjc
quelle