Uruchomię aplikację internetową na jednym z moich serwerów laboratoryjnych i już skonfigurowałem przekazywanie X11 na tych komputerach. Inni członkowie laboratorium mogą tunelować przez SSH i przeglądać tę aplikację internetową w lokalnej przeglądarce w domu.
Nie mogę Ostatnim razem, gdy z nimi rozmawiałem, nie muszę prawie nic robić.
Kiedy piszę 192.168.1.113/webapp
, nic nie dostaję.
Jakieś wskazówki?
Dzięki.
Skończyło się na drugiej metodzie :)
ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N
Odpowiedzi:
Istnieją dwa sposoby, aby to zrobić za pomocą SSH.
Tuneluj wszystko z serwerem proxy SOCKS
Zaloguj się do zdalnego komputera za pomocą następującego polecenia:
Teraz przejdź do ustawień proxy przeglądarki i skonfiguruj je tak, aby używało proxy SOCKS z nazwą hosta
127.0.0.1
i portem8080
(lub jakimkolwiek portem przekazanym do-D
opcji). Teraz wszystkie strony ładowane w przeglądarce będą tunelowane przez połączenie SSH. Powinieneś teraz mieć dostęp do prywatnej strony internetowej w taki sam sposób, jak ze zdalnego hosta.Po zakończeniu ustaw ponownie ustawienia proxy przeglądarki.
Wadą tej metody jest to, że cały pozostały ruch w przeglądarce będzie również przechodził przez połączenie SSH. Z drugiej strony możesz uzyskać dostęp do zdalnych serwerów z ich prawdziwymi nazwami hostów i łatwo uzyskać dostęp do wielu prywatnych witryn.
Tuneluj pojedynczy port.
Alternatywną metodą jest użycie SSH do przekazania pojedynczego portu:
Teraz, gdy skierujesz swoją przeglądarkę internetową
http://localhost:8080/
, powinieneś zobaczyć zawartośćhttp://server-hostname/
takiej, jaka wyglądałaby na zdalnym hoście.Zaletą tej metody jest to, że pozostawia resztę ruchu przeglądarki w spokoju. Minusem jest to, że niektóre linki mogą nie działać, jeśli witryna zdalna używa bezwzględnych odwołań do adresów URL. Jeśli witryna używa głównie referencyjnych adresów URL, ta metoda powinna być wystarczająca.
W przypadku obu tych rozwiązań port nie ma nic specjalnego
8080
. Możesz użyć dowolnego bezpłatnego numeru portu lokalnego, o ile pamiętasz, aby użyć tego samego numeru wssh
wywołaniu i przeglądarce internetowej.źródło
ssh -L 8080:<server-ip-address>:80 <username>@<remote-addr> -N
coś takiego (druga metoda).