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.

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.


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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.