HTTPS SSH Tunnel

7

Ok, ich habe einen Webserver, nennen wir ihn Server A, der einen Dienst über HTTPS bereitstellt. Und ich habe einen SSH-Gateway-Server, nennen wir ihn Server B.

Aufgrund von Firewall-Regeln kann ich von meinem Desktop-Linux-Computer aus nicht auf den Webdienst von Server A zugreifen. Um den Webdienst anzuzeigen, muss ich daher SSH mit X-Weiterleitung an Server B ausführen und Firefox über den SSH-Tunnel ausführen. Server B kann auf den Webdienst von Server A zugreifen und funktioniert so.

Ich frage mich, ob es möglich wäre, einen SSH-Tunnel zwischen meinem PC und Server B zu erstellen, der es mir ermöglicht, mit meinem Desktop-Webbrowser auf den Dienst auf Server A zuzugreifen, anstatt Firefox über den SSH-Tunnel auszuführen.

Jacob Tomlinson
quelle

Antworten:

11

Ja, es ist möglich:

ssh -L 8443:serverA:443 -Nf [user@]<serverB>

Auf diese Weise können Sie Ihren Desktop-Browser auf Port 8443 richten und an Port 443 (den HTTPS-Port) auf Ihrem Server A senden. Dadurch wird -Nfdie Sitzung im Hintergrund ausgeführt und sofort wieder auf Ihren Desktop zurückgesetzt, ohne dass eine tatsächliche Shell-Sitzung auf Server B eingerichtet wird.

John
quelle
1
Sie können auch direkt zu Server A gehen:ssh -L 8443:localhost:443 -Nf [user@]<serverA>
John
Ist nicht HTTPS-Port 443?
Clement
Richtig ... jetzt dumm ... Entschuldigung. Wird Änderungen vornehmen. Ich weiß ehrlich gesagt nicht, woher ich 437 habe ...
John
Ich kann aufgrund von Firewall-Einschränkungen nicht direkt zu Server A wechseln. Und ich fürchte, das oben genannte funktioniert bei mir nicht. Ich erhalte diese Fehlermeldung channel 2: open failed: administratively prohibited: open failed. Ich gehe davon aus, dass Server B AllowTCPForwardingdeaktiviert wurde.
Jacob Tomlinson
Auf welchem ​​Computer führen Sie diesen Befehl aus? PC? serverA?
Krupan
9

Sie nicht benötigen , auch SSH Tunnelingdie für den Zugriff auf web servicein Server A. Sie können verwendenDynamic Port Forwarding

ssh -N -D 9000 user@server_b

und konfigurieren Sie Ihren Webbrowser für die Verwendung von SOCKS-Proxy-Host 127.0.0.1und -Port9000

clement
quelle
Er muss wahrscheinlich einige Proxy-Ausnahmen erstellen, da er durch die Verwendung des Proxys für alles nicht auf Ressourcen zugreifen kann, auf die Server B nicht zugreifen kann. Abhängig von der Komplexität seines Arbeitsnetzwerks ist der Versuch, einen Proxy zu verwenden, möglicherweise aufwändiger als es sich lohnt.
John
Ich stimme John zu. Ich möchte nur darauf hinweisen, dass es auch machbar ist Dynamic Port Forwarding:)
Clement
Auf welchem ​​Computer führen Sie diesen Befehl aus? PC? serverA?
Krupan
Ich habe es versucht. Führen Sie den Befehl auf dem PC aus
krupan