33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Użyj kodu:

BLACK33
BG40
Użyj promocji
30.10.2024

Tunele SSH: Konfiguracja i praktyczne przypadki użycia

Bezpieczne tunelowanie SSH na AlexHost VPS: Kompleksowy przewodnik po przekierowaniu portów i bezpiecznym dostępie

W dzisiejszym połączonym cyfrowym świecie bezpieczny zdalny dostęp jest niezbędny dla programistów, administratorów systemów i specjalistów IT zarządzających serwerami lub aplikacjami. Secure Shell (SSH) to protokół do szyfrowanej komunikacji, ale jego możliwości tunelowania przenoszą go na wyższy poziom. Tunelowanie SSH pozwala bezpiecznie przekazywać ruch między sieciami, omijać zapory ogniowe i uzyskiwać dostęp do ograniczonych usług – wszystko to przy zachowaniu szyfrowania i prywatności. Niezależnie od tego, czy uzyskujesz dostęp do zablokowanej bazy danych, ujawniasz lokalną aplikację do testowania, czy też bezpiecznie przeglądasz publiczne sieci Wi-Fi, tunele SSH są wszechstronnym narzędziem do rzeczywistych scenariuszy.

Czym jest tunel SSH?

Tunel SSH to metoda przesyłania dowolnych danych przez szyfrowane połączenie SSH między dwoma systemami. Zasadniczo pozwala on na bezpieczne przekazywanie ruchu sieciowego z jednego komputera do drugiego poprzez utworzenie tunelu, przez który przechodzą dane. Tunele SSH mogą być używane na trzy podstawowe sposoby

  1. Lokalne przekierowanie portów
  2. Zdalne przekierowanie portów
  3. Dynamiczne przekierowanie portów

Każda z tych metod ma swoje specyficzne przypadki użycia i omówimy je szczegółowo poniżej

1. Lokalne przekierowanie portów

Lokalne przekierowanie portów jest najczęściej używaną formą tunelowania SSH. Umożliwia ono przekierowanie ruchu z lokalnego portu na komputerze do zdalnej usługi za pośrednictwem połączenia SSH

Jak działa lokalne przekierowanie portów

Po utworzeniu lokalnego tunelu SSH ruch wysyłany do określonego portu na komputerze lokalnym jest przekazywany do serwera SSH, który następnie wysyła go do żądanego miejsca docelowego (takiego jak baza danych lub serwer WWW)

Przykładowy przypadek użycia: Dostęp do zdalnej bazy danych

Wyobraź sobie, że musisz uzyskać dostęp do bazy danych na zdalnym serwerze, ale port bazy danych jest zablokowany przez zaporę sieciową. Zamiast otwierać port publicznie, można użyć lokalnego przekierowania portów, aby bezpiecznie uzyskać dostęp do bazy danych

Polecenie przekierowania portu lokalnego
ssh -L 5432:localhost:5432 user@remote-server

W tym przykładzie

  • -L 5432:localhost:5432: Określa przekierowanie portu lokalnego. Pierwszy 5432 to port na komputerze lokalnym, localhost:5432 odnosi się do zdalnej bazy danych.
  • user@remote-server: Łączy ze zdalnym serwerem SSH.

Teraz można uzyskać dostęp do zdalnej bazy danych z komputera lokalnego, łącząc się z localhost:5432

2. Zdalne przekierowanie portów

Zdalne przekierowanie portów umożliwia przekierowanie ruchu ze zdalnego serwera na lokalny komputer. Jest to przydatne, gdy chcesz udostępnić usługę działającą na komputerze lokalnym zdalnemu serwerowi lub jego użytkownikom

Jak działa zdalne przekierowanie portów

Dzięki zdalnemu przekierowaniu portów każdy ruch, który dociera do określonego portu na zdalnym komputerze, zostanie przekierowany do portu na komputerze lokalnym. Ta konfiguracja jest często używana, gdy trzeba udostępnić zdalnemu serwerowi usługę, która jest dostępna tylko w sieci lokalnej

Przykładowy przypadek użycia: Udostępnianie lokalnej aplikacji internetowej zdalnemu serwerowi

Wyobraź sobie, że tworzysz aplikację internetową lokalnie na swoim komputerze i chcesz pokazać ją koledze na zdalnym serwerze. Zamiast wdrażać aplikację, możesz użyć zdalnego przekierowania portów, aby umożliwić dostęp do lokalnej aplikacji

Polecenie zdalnego przekierowania portów
ssh -R 8080:localhost:3000 user@remote-server

W tym przykładzie

  • -R 8080:localhost:3000: Określa zdalne przekierowanie portu. Port 8080 komputera zdalnego zostanie przekierowany do localhost:3000 na komputerze lokalnym, na którym uruchomiona jest aplikacja internetowa.
  • user@remote-server: Łączy ze zdalnym serwerem SSH.

Teraz każdy na zdalnym serwerze może uzyskać dostęp do aplikacji internetowej za pośrednictwem http://remote-server:8080

3. Dynamiczne przekierowanie portów

Dynamiczne przekierowanie portów zmienia klienta SSH w serwer proxy SOCKS, umożliwiając kierowanie ruchu z komputera lokalnego przez tunel SSH do dowolnego miejsca docelowego. Jest to szczególnie przydatne, gdy chcesz tunelować cały ruch (taki jak przeglądanie stron internetowych) przez bezpieczne połączenie

Jak działa dynamiczne przekierowanie portów

Dzięki dynamicznemu przekierowaniu portów klient SSH nasłuchuje na lokalnym porcie i przekazuje cały ruch wychodzący przez serwer SSH. Taka konfiguracja pozwala na wykorzystanie serwera SSH jako serwera proxy dla połączenia internetowego, omijając zapory sieciowe i zabezpieczając ruch

Przykładowy przypadek użycia: omijanie ograniczeń sieciowych

Wyobraź sobie, że korzystasz z publicznej sieci Wi-Fi, a niektóre strony internetowe lub usługi są zablokowane. Możesz użyć dynamicznego przekierowania portów, aby ominąć te ograniczenia i uzyskać bezpieczny dostęp do Internetu za pośrednictwem serwera SSH

Polecenie dynamicznego przekierowania portów
ssh -D 8080 user@remote-server

W tym przykładzie

  • -D 8080: Określa dynamiczne przekierowanie portów. Lokalny komputer będzie działał jako serwer proxy SOCKS na porcie 8080.
  • user@remote-server: Łączy ze zdalnym serwerem SSH.

Gdy tunel jest aktywny, można skonfigurować przeglądarkę lub dowolną aplikację, aby używała localhost:8080 jako proxy SOCKS, umożliwiając bezpieczne kierowanie całego ruchu przez zdalny serwer

Konfigurowanie tuneli SSH za pomocą pliku konfiguracyjnego

Jeśli często korzystasz z tuneli SSH, możesz uprościć ten proces, tworząc plik konfiguracyjny SSH. Plik konfiguracyjny umożliwia zdefiniowanie skrótów dla połączeń SSH i ustawień przekierowania portów, ułatwiając konfigurację tuneli bez konieczności wpisywania długich poleceń za każdym razem

Przykładowy plik konfiguracyjny SSH

Dodaj następującą konfigurację do ~/.ssh/config

Host remote-db HostName remote-server Użytkownik user LocalForward 5432 localhost:5432

Teraz można skonfigurować lokalny port przekierowania do zdalnej bazy danych za pomocą tylko

ssh remote-db

Praktyczne przykłady tunelowania SSH

1. Bezpieczny ruch internetowy za pośrednictwem serwera proxy SOCKS

Jeśli pracujesz w ograniczonym środowisku i potrzebujesz dostępu do zablokowanych stron internetowych, możesz skonfigurować dynamiczne przekierowanie portów, aby kierować cały ruch przez bezpieczny serwer SSH

ssh -D 9090 user@ssh-server

Następnie skonfiguruj przeglądarkę tak, aby używała localhost:9090 jako proxy SOCKS

2. Uzyskiwanie dostępu do zdalnej usługi wewnętrznej

Załóżmy, że musisz uzyskać dostęp do usługi wewnętrznej, która jest dostępna tylko w zdalnej sieci prywatnej. Możesz użyć lokalnego przekierowania portów, aby bezpiecznie połączyć się z tą usługą z lokalnego komputera

ssh -L 8080:internal-service:80 user@remote-server

Umożliwi to dostęp do usługi wewnętrznej pod adresem http://localhost:8080

3. Udostępnianie lokalnego serwera deweloperskiego

Jeśli chcesz udostępnić lokalny serwer programistyczny współpracownikom na zdalnym serwerze, użyj zdalnego przekierowania portów

ssh -R 4000:localhost:3000 user@remote-server

Współpracownicy na zdalnym serwerze mogą teraz uzyskać dostęp do lokalnej aplikacji pod adresem http://remote-server:4000

Podsumowanie: Tunelowanie SSH dla bezpiecznego dostępu na AlexHost VPS

Tunelowanie SSH zabezpiecza przekazywanie ruchu w celu zdalnego dostępu lub przeglądania. W VPS AlexHost wykorzystaj NVMe do tuneli o niskich opóźnieniach, dostępu roota do konfiguracji i ochrony DDoS dla bezpieczeństwa. Rozpocznij tunelowanie już dziś!

33%

Black Friday Sale Off on everything

and 40% off for dedicated bulgaria servers

Użyj kodu:

BLACK33
BG40
Użyj promocji