Jak korzystać z tunelowania SSH w celu uzyskania dostępu do serwerów z ograniczeniami i bezpiecznego przeglądania

Jul 12, 2025
Prywatność i ochrona

Klient SSH łączy się z Serwer Secure Shell , który umożliwia uruchamianie poleceń terminala tak, jakbyś siedział przed innym komputerem. Ale klient SSH umożliwia również „tunelowanie” portu między systemem lokalnym a zdalnym serwerem SSH.

Istnieją trzy różne typy tunelowania SSH i wszystkie są używane do różnych celów. Każdy z nich wymaga użycia serwera SSH do przekierowania ruchu z jednego portu sieciowego do drugiego. Ruch jest przesyłany przez zaszyfrowane połączenie SSH, więc nie można go monitorować ani modyfikować podczas przesyłania.

Możesz to zrobić za pomocą ssh polecenie zawarte w systemie Linux, macOS i innych Podobny do systemu UNIX system operacyjny. W systemie Windows, który nie zawiera wbudowanego polecenia ssh, zalecamy bezpłatne narzędzie Kit do łączenia się z serwerami SSH. Obsługuje również tunelowanie SSH.

Lokalne przekierowanie portów: udostępnianie zasobów zdalnych w systemie lokalnym

„Przekierowanie portu lokalnego” umożliwia dostęp do zasobów sieci lokalnej, które nie są widoczne w Internecie. Na przykład, powiedzmy, że chcesz uzyskać dostęp do serwera bazy danych w biurze z domu. Ze względów bezpieczeństwa ten serwer bazy danych jest skonfigurowany tylko do akceptowania połączeń z lokalnej sieci biurowej. Ale jeśli masz dostęp do serwera SSH w biurze, a ten serwer SSH umożliwia połączenia spoza sieci biurowej, możesz połączyć się z tym serwerem SSH z domu i uzyskać dostęp do serwera bazy danych tak, jakbyś był w biurze. Dzieje się tak często, ponieważ łatwiej jest zabezpieczyć pojedynczy serwer SSH przed atakami, niż zabezpieczyć wiele różnych zasobów sieciowych.

Aby to zrobić, należy nawiązać połączenie SSH z serwerem SSH i nakazać klientowi przekierowanie ruchu z określonego portu z lokalnego komputera - na przykład portu 1234 - na adres serwera bazy danych i jego port w sieci biurowej. Tak więc, gdy próbujesz uzyskać dostęp do serwera bazy danych na porcie 1234, Twój obecny komputer, „localhost”, ruch ten jest automatycznie „tunelowany” przez połączenie SSH i wysyłany do serwera bazy danych. Serwer SSH znajduje się pośrodku i przekazuje ruch tam iz powrotem. Możesz użyć dowolnego wiersza poleceń lub narzędzia graficznego, aby uzyskać dostęp do serwera bazy danych tak, jakby był uruchomiony na lokalnym komputerze.

Aby korzystać z przekazywania lokalnego, połącz się z serwerem SSH normalnie, ale podaj także plik -L argument. Składnia jest następująca:

ssh -L port_lokalny: adres_zdalny: nazwa_uż[email protected]

Na przykład, powiedzmy, że serwer bazy danych w Twoim biurze znajduje się pod adresem 192.168.1.111 w sieci biurowej. Masz dostęp do serwera SSH biura pod adresem ssh.youroffice.com , a twoje konto użytkownika na serwerze SSH to pion . W takim przypadku Twoje polecenie wyglądałoby tak:

ssh -L 8888: 192.168.1.111: 1234 [email protected]

Po uruchomieniu tego polecenia uzyskasz dostęp do serwera bazy danych na porcie 8888 na hoście lokalnym. Tak więc, jeśli serwer bazy danych oferował dostęp do sieci, możesz podłączyć http: // localhost: 8888 do przeglądarki, aby uzyskać do niego dostęp. Jeśli masz narzędzie wiersza poleceń, które wymaga adresu sieciowego bazy danych, wskaż go na localhost: 8888. Cały ruch wysyłany do portu 8888 na twoim komputerze będzie tunelowany do 192.168.1.111:1234 w twojej sieci biurowej.

To trochę bardziej zagmatwane, jeśli chcesz połączyć się z aplikacją serwera działającą w tym samym systemie, co sam serwer SSH. Na przykład, powiedzmy, że masz serwer SSH działający na porcie 22 na komputerze w biurze, ale masz również serwer bazy danych działający na porcie 1234 w tym samym systemie pod tym samym adresem. Chcesz uzyskać dostęp do serwera bazy danych z domu, ale system akceptuje tylko połączenia SSH na porcie 22, a jego zapora sieciowa nie zezwala na żadne inne połączenia zewnętrzne.

W takim przypadku możesz uruchomić polecenie podobne do następującego:

ssh -L 8888: localhost: 1234 [email protected]

Podczas próby uzyskania dostępu do serwera bazy danych na porcie 8888 na obecnym komputerze, ruch będzie przesyłany przez połączenie SSH. Kiedy dotrze do systemu, na którym działa serwer SSH, serwer SSH wyśle ​​go do portu 1234 na „localhost”, czyli na tym samym komputerze, na którym działa sam serwer SSH. Zatem „localhost” w powyższym poleceniu oznacza „localhost” z perspektywy zdalnego serwera.

Aby to zrobić w aplikacji PuTTY w systemie Windows, wybierz Połączenie> SSH> Tunele. Wybierz opcję „Lokalne”. W polu „Source Port” wprowadź port lokalny. W polu „Miejsce docelowe” wprowadź adres docelowy i port w postaci adres_zdalny: port_zdalny.

Na przykład, jeśli chcesz skonfigurować ten sam tunel SSH co powyżej, wpisz 8888 jako port źródłowy i lokalny host: 1234 jako miejsce docelowe. Następnie kliknij „Dodaj”, a następnie kliknij „Otwórz”, aby otworzyć połączenie SSH. Oczywiście przed połączeniem będziesz musiał również wprowadzić adres i port samego serwera SSH na głównym ekranie „Session”.

Zdalne przekazywanie portów: udostępnianie zasobów lokalnych w systemie zdalnym

„Zdalne przekierowanie portu” jest przeciwieństwem lokalnego przekazywania i nie jest używane tak często. Umożliwia udostępnienie zasobu na lokalnym komputerze na serwerze SSH. Na przykład, powiedzmy, że uruchamiasz serwer WWW na lokalnym komputerze, przed którym siedzisz. Ale Twój komputer jest za zaporą, która nie zezwala na ruch przychodzący do oprogramowania serwera.

Zakładając, że masz dostęp do zdalnego serwera SSH, możesz połączyć się z tym serwerem SSH i użyć zdalnego przekierowania portów. Twój klient SSH powie serwerowi, aby przekierował określony port - powiedzmy port 1234 - na serwerze SSH na określony adres i port w Twoim obecnym komputerze lub sieci lokalnej. Kiedy ktoś uzyskuje dostęp do portu 1234 na serwerze SSH, ruch ten zostanie automatycznie „tunelowany” przez połączenie SSH. Każdy, kto ma dostęp do serwera SSH, będzie mógł uzyskać dostęp do serwera WWW działającego na twoim komputerze. Jest to efektywny sposób na tunelowanie przez zapory.

Aby korzystać ze zdalnego przekazywania, użyj rozszerzenia ssh polecenie z -R argument. Składnia jest w dużej mierze taka sama jak w przypadku przekazywania lokalnego:

ssh -R port_zdalny: adres_lokalny: port_lokalny nazwa_uż[email protected]

Załóżmy, że chcesz, aby aplikacja serwera nasłuchująca na porcie 1234 na lokalnym komputerze była dostępna na porcie 8888 na zdalnym serwerze SSH. Adres serwera SSH to ssh.youroffice.com a twoja nazwa użytkownika na serwerze SSH to pion . Uruchomiłbyś następujące polecenie:

ssh -R 8888: localhost: 1234 [email protected]

Ktoś mógłby wtedy połączyć się z serwerem SSH na porcie 8888 i to połączenie byłoby tunelowane do aplikacji serwera działającej na porcie 1234 na lokalnym komputerze, z którego nawiązałeś połączenie.

Aby to zrobić w PuTTY w systemie Windows, wybierz Połączenie> SSH> Tunele. Wybierz opcję „Remote”. W polu „Source Port” wprowadź port zdalny. W polu „Miejsce docelowe” wprowadź adres docelowy i port w postaci adres_lokalny: port_lokalny.

Na przykład, jeśli chcesz skonfigurować powyższy przykład, wpisz 8888 jako port źródłowy i lokalny host: 1234 jako miejsce docelowe. Następnie kliknij „Dodaj”, a następnie kliknij „Otwórz”, aby otworzyć połączenie SSH. Oczywiście przed połączeniem będziesz musiał również wprowadzić adres i port samego serwera SSH na głównym ekranie „Session”.

Ludzie mogliby wtedy połączyć się z portem 8888 na serwerze SSH, a ich ruch byłby tunelowany do portu 1234 w systemie lokalnym.

Domyślnie zdalny serwer SSH nasłuchuje tylko połączeń z tego samego hosta. Innymi słowy, tylko osoby w tym samym systemie, co sam serwer SSH, będą mogły się połączyć. Dzieje się tak ze względów bezpieczeństwa. Musisz włączyć opcję „GatewayPorts” w sshd_config na zdalnym serwerze SSH, jeśli chcesz zmienić to zachowanie.

Dynamiczne przekazywanie portów: użyj swojego serwera SSH jako proxy

ZWIĄZANE Z: Jaka jest różnica między VPN a proxy?

Istnieje również „dynamiczne przekierowanie portów”, które działa podobnie do serwera proxy lub VPN. Klient SSH utworzy plik SOCKS proxy możesz skonfigurować aplikacje do użycia. Cały ruch przesyłany przez proxy byłby przesyłany przez serwer SSH. Jest to podobne do przekazywania lokalnego - pobiera ruch lokalny wysyłany do określonego portu na komputerze i wysyła go przez połączenie SSH do zdalnej lokalizacji.

ZWIĄZANE Z: Dlaczego korzystanie z publicznej sieci Wi-Fi może być niebezpieczne, nawet podczas uzyskiwania dostępu do zaszyfrowanych witryn internetowych

Na przykład załóżmy, że korzystasz z publicznej sieci Wi-Fi. Chcesz przeglądaj bezpiecznie, nie będąc podsłuchiwanym . Jeśli masz dostęp do serwera SSH w domu, możesz się z nim połączyć i użyć dynamicznego przekierowania portów. Klient SSH utworzy proxy SOCKS na twoim komputerze. Cały ruch wysyłany do tego serwera proxy będzie przesyłany przez połączenie z serwerem SSH. Nikt, kto monitoruje publiczną sieć Wi-Fi, nie będzie w stanie monitorować przeglądania ani cenzurować witryn, do których masz dostęp. Z punktu widzenia odwiedzanych witryn internetowych będzie to tak, jakbyś siedział przed komputerem w domu. Oznacza to również, że możesz użyć tej sztuczki, aby uzyskać dostęp do witryn internetowych tylko w USA poza USA - oczywiście zakładając, że masz dostęp do serwera SSH w USA.

Jako inny przykład możesz chcieć uzyskać dostęp do aplikacji serwera multimediów, którą masz w swojej sieci domowej. Ze względów bezpieczeństwa możesz mieć tylko serwer SSH widoczny w Internecie. Nie zezwalasz na połączenia przychodzące z Internetu do aplikacji serwera multimediów. Możesz ustawić dynamiczne przekierowanie portów, skonfigurować przeglądarkę internetową do korzystania z serwera proxy SOCKS, a następnie uzyskać dostęp do serwerów działających w sieci domowej przez przeglądarkę internetową, tak jakbyś siedział przed swoim systemem SSH w domu. Na przykład, jeśli serwer multimediów znajduje się w porcie 192.168.1.123 w sieci domowej, możesz podłączyć adres 192.168.1.123 do dowolnej aplikacji korzystającej z serwera proxy SOCKS i uzyskasz dostęp do serwera multimediów tak, jakbyś był w sieci domowej.

Aby użyć dynamicznego przekazywania, uruchom polecenie ssh z rozszerzeniem -RE argument, tak jak to:

ssh -D local_port nazwa_uż[email protected]

Na przykład załóżmy, że masz dostęp do serwera SSH pod adresem ssh.yourhome.com a twoja nazwa użytkownika na serwerze SSH to pion . Chcesz użyć dynamicznego przekazywania, aby otworzyć proxy SOCKS na porcie 8888 na bieżącym komputerze. Uruchomiłbyś następujące polecenie:

ssh -D 8888 [email protected]

Można wtedy skonfigurować przeglądarkę internetową lub inną aplikację, aby używała lokalnego adresu IP (127.0.01) i portu 8888. Cały ruch z tej aplikacji byłby przekierowywany przez tunel.

Aby to zrobić w PuTTY w systemie Windows, wybierz Połączenie> SSH> Tunele. Wybierz opcję „Dynamiczny”. W polu „Source Port” wprowadź port lokalny.

Na przykład, jeśli chcesz utworzyć serwer proxy SOCKS na porcie 8888, wpisz 8888 jako port źródłowy. Następnie kliknij „Dodaj”, a następnie kliknij „Otwórz”, aby otworzyć połączenie SSH. Oczywiście przed połączeniem będziesz musiał również wprowadzić adres i port samego serwera SSH na głównym ekranie „Session”.

Następnie można skonfigurować aplikację tak, aby uzyskiwała dostęp do serwera proxy SOCKS na lokalnym komputerze (czyli adres IP 127.0.0.1, który wskazuje na lokalny komputer) i określić prawidłowy port.

ZWIĄZANE Z: Jak skonfigurować serwer proxy w przeglądarce Firefox

Na przykład możesz skonfiguruj przeglądarkę Firefox do korzystania z serwera proxy SOCKS . Jest to szczególnie przydatne, ponieważ Firefox może mieć własne ustawienia proxy i nie musi używać ogólnosystemowych ustawień proxy. Firefox będzie wysyłał swój ruch przez tunel SSH, podczas gdy inne aplikacje będą normalnie korzystać z połączenia internetowego.

Robiąc to w przeglądarce Firefox, wybierz „Ręczna konfiguracja proxy”, wpisz „127.0.0.1” w polu hosta SOCKS i wprowadź dynamiczny port w polu „Port”. Pozostaw puste pola HTTP Proxy, SSL Proxy i FTP Proxy.

Tunel pozostanie aktywny i otwarty tak długo, jak masz otwarte połączenie sesji SSH. Kiedy zakończysz sesję SSH i rozłączysz się z serwerem, tunel również zostanie zamknięty. Po prostu połącz się ponownie za pomocą odpowiedniego polecenia (lub odpowiednich opcji w programie PuTTY), aby ponownie otworzyć tunel.

How To Use SSH Tunneling To Access Restricted Servers And Browse Securely

SSH Tunneling Explained

How To Access Your Computer From Anywhere With VNC | SSH Tunneling

Tunneling Web Traffic Through SSH

SSH Tunneling: Bypass Your ISPs

Bypassing Firewalls Using SSH Tunneling

How To Use SSH Public Key Authentication

BASH Tutorial - SSH Tunneling With Firefox

Secure Your Web Traffic Without VPN Or Proxy - Using SSH Tunneling

SSH On The Command Line -- 3: Using SSH To Browse The Web Safely

SSH Tunneling - Local & Remote Port Forwarding (by Example)


Prywatność i ochrona - Najpopularniejsze artykuły

Jak odblokować „potencjalnie wrażliwe treści” na Twitterze

Prywatność i ochrona Aug 22, 2025

Świergot Twitter blokuje niektóre tweety z ostrzeżeniem o „potencjalnie wrażliwej treści”. Możesz wyłączyć to ostrzeżenie - nawet na iPhonie lub..


Jak zablokować kontaktom dzwonienie lub wysyłanie wiadomości w Amazon Echo

Prywatność i ochrona Jun 28, 2025

Z dodatkiem dzwonienie i wysyłanie wiadomości do innych użytkowników Alexa korzystając z Amazon Echo, może nadejść moment, w którym zechcesz zablokować pewn..


Jak wyłączyć odpowiedzi na wiadomości na ekranie blokady na iPhonie

Prywatność i ochrona Dec 6, 2024

TREŚĆ NIENARUSZONA Gdy otrzymasz wiadomość na iPhonie, pojawi się ona na ekranie blokady. Możesz odblokować iPhone'a i otworzyć Wiadomości, aby odpowiedzieć, lub możesz..


Jak mogę połączyć się z lokalnym serwerem z dostępem do Internetu bez wysyłania ruchu do Internetu iz powrotem?

Prywatność i ochrona Sep 29, 2025

TREŚĆ NIENARUSZONA Jeśli skonfigurowałeś serwer w swojej sieci domowej (np. Serwer strumieniowego przesyłania multimediów), aby uzyskać dostęp do plików poza domem, być..


Jak cofnąć autoryzację zawartości Flash przed sprzedażą komputera

Prywatność i ochrona Nov 7, 2024

TREŚĆ NIENARUSZONA Jeśli chodzi o sprzedaż starego sprzętu cyfrowego, zwykle powinieneś wyczyść go ze wszystkich śladów cyfrowych za pomocą czegoś takiego jak ..


Filtruj treści internetowe w przeglądarce Firefox za pomocą ProCon Latte

Prywatność i ochrona Jul 22, 2025

TREŚĆ NIENARUSZONA Szukasz sposobu na filtrowanie treści internetowych w przeglądarce Firefox, aby chronić rodzinę przed mniej niż pożądanymi treściami w Internecie? Teraz możesz..


Jak utworzyć i używać dysku resetowania hasła w systemie Windows 7 lub Vista

Prywatność i ochrona Oct 19, 2025

TREŚĆ NIENARUSZONA Zapomnienie hasła może być niezwykle frustrującą sytuacją. Udostępniamy już, jak to zrobić zresetuj hasło za pomocą Ultimate Boot CD tak dobrz..


Zabezpiecz swoje konto Gmail za pomocą szyfrowania SSL bez łamania Powiadomień Gmaila

Prywatność i ochrona Sep 18, 2025

TREŚĆ NIENARUSZONA Niezależnie od używanej zapory sieciowej, jeśli łączysz się z usługami online bez szyfrowania, istnieje szansa, że ​​Twoje dane zostaną przejęte, zwłaszc..


Kategorie