Ich habe 3 Maschinen, die als Kette verbunden sind, A, B, C.
A-->B-->C
A ist meine Maschine, B ist der Server und C ist eine andere Maschine mit einigen Diensten und einem Webserver darauf. Aus irgendeinem Grund brauche ich Zugriff von A auf den Webserver auf C (Port 80). Ich kann SSH verwenden, um mich von A bei B und dann von B bei C anzumelden, aber die Konsole reicht im Moment nicht aus. Ich brauche einen Webbrowser und die Verwendung von SSH mit Option -X
hat nicht funktioniert (einige Probleme mit Dbus beim Start von Firefox).
Ich leite die Portweiterleitung auf B mit dem klassischen Befehl weiter, um Port 22 für SSH weiterzuleiten:
ssh -L 2222:localhostB:22 user@ipC
aber die Verwendung desselben zum Weiterleiten von Port 80 hat nicht funktioniert:
ssh -L 8888:localhostB:80 user@ipC
Ich weiß, dass es eine andere Weiterleitung gibt, damit es funktioniert, aber ich habe nicht verstanden, wie und was.
Ich brauche so etwas:
A --> B (frd from B:8888 to C:80) --> C (port 80 web server)
Wenn ich also ipB:8888 eingebe, werde ich zu C:80 weitergeleitet.
Für jede Hilfe, wie Erklärungen, was zu tun ist, oder Skripte mit Befehlen, bin ich dankbar. Ich habe in einem Blog gelesen, dass die Weiterleitung zweimal durchgeführt werden muss ssh -L
, aber ich habe nicht verstanden, warum.
Antwort1
Sie sind auf dem richtigen Weg.
Auf einen:
ssh -L 8888:ipC:80 user@ipB -N
Macht den Webserver auf C über localhost:8888 auf A erreichbar
Auf Anfrage des OP etwas mehr Details:
Ich bin aus Ihrer Frage davon ausgegangen, dass Sie auf A auf den Webserver von C zugreifen möchten (ich vermute, Sie haben auf A eine GUI-Umgebung mit einem Webbrowser).
Sie können nicht direkt auf C zugreifen (aus welchem Grund auch immer), aber Sie können auf B zugreifen, das wiederum auf C zugreifen kann. Also erstellen wir einen Tunnel zwischen A und B und bitten B, sein Ende des Tunnels an den Webserver auf C anzuschließen.