Tunele SSH i serwer proxy SOCKS
Twórz bezpieczne tunele SSH do szyfrowanej komunikacji i konfiguruj serwer proxy SOCKS na potrzeby anonimowego przeglądania lub omijania ograniczeń sieciowych.
Tunele SSH i serwer proxy SOCKS to bezpłatna lekcja Linux Server Deployment & SSH Mastery na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Server Deployment & SSH Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.
Wprowadzenie do tuneli SSH
Witamy w module dotyczącym tuneli SSH! Nie są to tunele fizyczne, lecz bezpieczne połączenia umożliwiające przekierowywanie ruchu sieciowego przez serwer SSH.
Można myśleć o nich jak o tworzeniu tajnej, szyfrowanej ścieżki przez sieć publiczną. Ścieżka ta umożliwia dostęp do usług, które w przeciwnym razie mogłyby być zablokowane lub niezabezpieczone.
Dlaczego używać tuneli SSH?
Tunele SSH są niezwykle wszechstronne i przydatne dla programistów oraz administratorów systemów. Pomagają:
- Omijać zapory sieciowe: uzyskiwać dostęp do usług wewnętrznych, które nie są udostępnione w publicznym internecie.
- Zabezpieczać nieszyfrowany ruch: szyfrować dane, które normalnie byłyby przesyłane niezabezpieczonym kanałem (np. przez starsze protokoły).
- Uzyskiwać dostęp do ograniczonych zasobów: łączyć się z usługami w sieci prywatnej z sieci publicznej i odwrotnie.
Wyjaśnienie lokalnego przekierowania portów
Lokalne przekierowanie portów polega na połączeniu portu na komputerze lokalnym z portem na komputerze zdalnym (za pośrednictwem serwera SSH).
Serwer SSH pełni funkcję pośrednika. Aplikacja lokalna łączy się z lokalnym portem, a SSH bezpiecznie przekazuje ten ruch do określonego zdalnego hosta i portu.
Lokalne przekierowanie: polecenie
Składnia lokalnego przekierowania portów jest prosta:
ssh -L [local_port]:[remote_host]:[remote_port] [user]@[ssh_server]
Oto przykład uzyskania dostępu do bazy danych działającej na db-server (port 3306) przez serwer ssh-gateway:
ssh -L 8080:db-server:3306 user@ssh-gateway.comLokalne przekierowanie: zastosowanie praktyczne
Po wykonaniu polecenia z poprzedniej sceny mogą Państwo połączyć lokalnego klienta bazy danych z localhost:8080.
Cały ruch wysyłany do localhost:8080 zostanie bezpiecznie przekierowany przez ssh-gateway.com do db-server:3306. Jest to przydatne podczas uzyskiwania dostępu do prywatnych baz danych lub usług webowych.
Wyjaśnienie zdalnego przekierowania portów
Zdalne przekierowanie portów jest przeciwieństwem przekierowania lokalnego. Umożliwia udostępnienie usługi działającej na komputerze lokalnym przez port na zdalnym serwerze SSH.
Oznacza to, że inne osoby mogą połączyć się z portem zdalnego serwera SSH, a ich ruch zostanie bezpiecznie przekierowany do Państwa lokalnej usługi.
Zdalne przekierowanie: polecenie
Składnia zdalnego przekierowania portów korzysta z flagi -R:
ssh -R [remote_port]:[local_host]:[local_port] [user]@[ssh_server]
Załóżmy, że na porcie 8000 lokalnie działa serwer webowy i chcą go Państwo udostępnić innym przez ssh-gateway na porcie 8888:
ssh -R 8888:localhost:8000 user@ssh-gateway.comZdalne przekierowanie: zastosowanie praktyczne
Po ustanowieniu zdalnego tunelu każdy, kto może połączyć się z ssh-gateway.com, uzyska dostęp do lokalnego serwera webowego, łącząc się z ssh-gateway.com:8888.
Jest to przydatne do udostępniania lokalnego serwera deweloperskiego członkom zespołu lub obsługi webhooków, które muszą łączyć się z Państwa komputerem lokalnym.
Proxy SOCKS przez SSH
Proxy SOCKS umożliwia kierowanie całego ruchu aplikacji (np. przeglądarki internetowej lub klienta czatu) przez serwer SSH. Często wykorzystuje się je do anonimizowania przeglądania internetu lub omijania ograniczeń sieciowych.
Flaga -D tworzy proxy SOCKS na lokalnym porcie:
ssh -D 9999 user@ssh-gateway.comKonfigurowanie klienta dla proxy SOCKS
Po wykonaniu polecenia ssh -D 9999 user@ssh-gateway.com proxy SOCKS będzie działać pod adresem localhost:9999.
Następnie należy skonfigurować przeglądarkę internetową (lub inną aplikację), aby korzystała z localhost jako proxy SOCKS5 na porcie 9999. Cały ruch internetowy tej aplikacji będzie od tej chwili bezpiecznie kierowany przez ssh-gateway.
Test: tunele
Próbują Państwo uzyskać dostęp z komputera lokalnego (localhost) do prywatnej wewnętrznej usługi webowej działającej pod adresem internal-app.local:80. Mają Państwo dostęp SSH do jump-host.com.
Jakiego polecenia SSH należy użyć, aby przekierować lokalny port 8080 do wewnętrznej usługi webowej?
Podsumowanie tuneli i proxy
Opanowali Państwo tunele SSH! Omówiliśmy:
- Lokalne przekierowanie portów (
-L): dostęp do zdalnych usług z komputera lokalnego. - Zdalne przekierowanie portów (
-R): udostępnianie lokalnych usług zdalnemu serwerowi SSH. - Proxy SOCKS (
-D): kierowanie całego ruchu aplikacji przez serwer SSH w celu ochrony prywatności lub omijania ograniczeń.
Techniki te są potężnymi narzędziami zapewniającymi bezpieczny i elastyczny dostęp do sieci podczas programowania i administrowania systemami.
Często zadawane pytania
Czy lekcja „Tunele SSH i serwer proxy SOCKS” jest bezpłatna?
Tak — pełny tekst „Tunele SSH i serwer proxy SOCKS” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Server Deployment & SSH Mastery, przejdź na CoddyKit PRO. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.
Co nauczysz się w „Tunele SSH i serwer proxy SOCKS”?
Twórz bezpieczne tunele SSH do szyfrowanej komunikacji i konfiguruj serwer proxy SOCKS na potrzeby anonimowego przeglądania lub omijania ograniczeń sieciowych. Ćwiczysz Linux Server Deployment & SSH Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Linux Server Deployment & SSH Mastery?
Nie wymagamy żadnego doświadczenia. Linux Server Deployment & SSH Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Tunele SSH i serwer proxy SOCKS”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Linux Server Deployment & SSH Mastery?
Tak. Każda lekcja Linux Server Deployment & SSH Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Przekierowanie portów SSH (lokalne/zdalne)
- Tunele SSH i serwer proxy SOCKS
- Agent SSH i połączenia wieloskokowe
- Bezpieczny transfer plików z SCP, SFTP i rsync