Meine Firma hat einen Intranet-Webserver, der nur vom LAN aus zugänglich ist und für die Webentwicklung als Integrationsserver verwendet wird. Benutzer im LAN richten ihre /etc/hosts so ein, dass sie dieselben virtuellen Hosts verwenden, die in der Apache-Konfiguration des Integrationsservers definiert sind, und können sich so über den Standardport 80 damit verbinden.
Ich arbeite manchmal remote und kann über einen benutzerdefinierten Port per SSH auf den Server zugreifen.
Wenn ich meine /etc/hosts auf die öffentliche IP dieses Servers einstelle, gibt es dann eine Möglichkeit, die SSH-Verbindung mit diesem benutzerdefinierten Port zu verwenden, sodass meine Browserverbindung getunnelt wird und Seiten von diesem Webserver abruft?
Antwort1
Ich habe Ihre Konfiguration nicht ganz verstanden, aber wenn Sie per SSH auf den Firmenserver zugreifen, sollten Sie in der Lage sein, einen SSH-Tunnel einzurichten, sodass Sie per Browser auf den Firmen-Webserver zugreifen können.
Du tustnichtmüssen Sie /etc/hosts auf Ihrem lokalen Rechner einrichten. Mit dem Parameter ssh
-L port:host:hostport
Der gesamte Datenverkehr zum Port auf dem lokalen Host wird zum Host/Hostport auf dem Remote-Remote getunnelt. Wenn Sie also
ssh -L 80:web-server:80 user@ssh-server -p 22
http://localhost
wird umgeleitet zu web-server:80
. Beachten Sie, dass der Hostport auf dem Remote-Server, also dem SSH-Server, übersetzt wird.
-p 22
ist nicht erforderlich, wenn der SSH-Server den Standardport verwendet, aber in der Frage steht, dass der SSH-Server über einen benutzerdefinierten Port läuft. Ändern Sie in diesem Fall 22
den Port in den benutzerdefinierten.
Wenn das System beschwert, dassPrivilegierte Ports können nur von Root weitergeleitet werden, führen Sie es als Superuser aus:
sudo ssh -L 80:web-server:80 user@ssh-server -p 12345
oder melden Sie sich als Root an.
Antwort2
SSH-Befehlszeilenversion:
ssh -L 90:devserver:80 remotehost.example.com
Navigieren Sie nun zuhttp://devserver:90/
Denken Sie daran, dass /etc/hosts auf 127.0.0.1 verweisen muss
Mit PuTTY unter SSH-Tunnel:
- Geben Sie bei Quellport 90 ein.
- Geben Sie bei Ziel devserver:80 ein.
- Klicken Sie auf Hinzufügen
- Denken Sie daran, zur Sitzung zurückzukehren und auf „Speichern“ zu klicken.
Besser als das ganze Tunneln wäre, OpenVPN im Büro einzurichten.
Antwort3
Ich mache genau das Gegenteil. Wenn ich bei einem Kunden bin, richte ich über Tunnelier auf meinem Laptop einen sicheren SSH-Tunnel ein, der auf einen externen Server mit installiertem SSH-Server verweist. Dann richte ich Switchy in Google Chrome ein, um die Weiterleitung des Datenverkehrs von meinem Browser an den externen Server über SSH zu ermöglichen.
Also,
- Installieren Sie Switchy in Ihrem Chrome-Browser (Sie können einen Proxy in FF/IE einrichten – mit Switchy können Sie problemlos zwischen Proxy-Konfigurationen wechseln). Stellen Sie den SOCKS-Host auf 127.0.0.1 und den Port auf 1080 ein.
- Richten Sie den Tunnelier-Client auf Ihrem Remote-Rechner ein, d. h. auf Ihrem Laptop/Heimcomputer, und verbinden Sie ihn mit dem SSH-Server des Unternehmens. Verwenden Sie Port 1080 mit aktivierter „SOCKS/HTTP-Proxy-Weiterleitung“.
Hoffe das hilft.