Włącz przekazywanie portów SSH w Linux

Włącz przekazywanie portów SSH w Linux

Większość użytkowników Linux jest zaznajomiona z protokołem SSH, ponieważ umożliwia zdalne zarządzanie dowolnym systemem Linux. Jest również powszechnie używany do SFTP do pobierania lub przesyłania plików. SSH jest znany jako bardzo bezpieczny protokół, ponieważ szyfruje koniec ruchu do końca. Ale szyfrowane tunele, które tworzy, są w rzeczywistości dość wszechstronne i mogą być używane do nie tylko zdalnego zarządzania serwerami lub transferem plików.

Przekazywanie portów SSH może być używane do szyfrowania ruchu między dwoma systemami dla prawie dowolnego protokołu. Odbywa się to poprzez utworzenie bezpiecznego tunelu, a następnie kierowanie ruchu innego protokołu przez ten tunel. Według zasady działa bardzo podobnie do VPN.

W tym przewodniku omówimy instrukcje krok po kroku, aby pokazać, jak korzystać z przekazywania portów SSH, aby utworzyć bezpieczny tunel dla innej aplikacji. Jako przykład, utworzymy przekazywanie portów dla protokołu Telnet, którego zwykle unika się ze względu na to, jak przenosi dane w wyraźnym tekście. To zabezpieczy protokół i zapewni jej korzystanie.

W tym samouczku nauczysz się:

  • Jak korzystać z przekazywania portów SSH
  • Jak utworzyć trwały tunel SSH
Tworzenie tunelu SSH poprzez przekazywanie portów w Linux
Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Każda dystrybucja Linux
Oprogramowanie OpenSsh, autossh
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Jak korzystać z przekazywania portów SSH



Przekazywanie portu SSH działa poprzez przekazywanie ruchu z określonego portu w systemie lokalnym do portu w systemie zdalnym. Dwa porty nie muszą być takie same. Na przykład przekazamy port 4500 w naszym lokalnym systemie do portu 23 (Telnet) w systemie zdalnym.

Nie musisz tego robić jako korzenia. Ponieważ używamy portu wyższego niż 1024, zwykły użytkownik jest w stanie utworzyć to połączenie do przodu portu. Należy pamiętać, że tunel jest wznoszony tylko wtedy, gdy połączenie SSH działa.

$ ssh -l 4500: 127.0.0.1:23 Uż[email protected] 

Przejrzyjmy, co się dzieje w tym poleceniu.

  • -L - Ta opcja mówi SSH, że chcemy utworzyć tunel poprzez przekazywanie portów.
  • 4500 - Port w naszym lokalnym systemie, przez który wyślemy ruch.
  • 127.0.0.1 - To jest adres naszego lokalnego systemu pętli.
  • 23 - Zdalny port, z którym próbujemy się połączyć.
  • użytkownik - Nazwa użytkownika zalogowania się do SSH na zdalnym serwerze.
  • Linuxconfig.org - Zdalny serwer IP lub nazwa domeny.

W tym momencie każde połączenie, które korzysta z portu 4500 w Localhost, zostanie przekierowane do zdalnego portu 23.

Tworzenie tunelu SSH z portu lokalnego 4500 do zdalnego portu 23

Na powyższym zrzucie ekranu z powodzeniem utworzyliśmy tunel na zdalnym serwerze. Jak widać, wygląda jak typowy login SSH. Ale teraz, w naszym systemie lokalnym, możemy uzyskać dostęp do usługi Telnet systemu zdalnego, kierując ruch przez port 4500.

$ Telnet 127.0.0.1 4500 


Otworzymy nowy terminal i wypróbujemy go w naszym systemie testowym, pozostawiając otwartego drugiego terminala, aby utrzymywał nasz tunel SSH.

Korzystanie z Telnet do łączenia się ze zdalnym serwerem i prowadzenie ruchu przez SSH w celu bezpieczeństwa

Jak widać, mamy teraz sesję telnetową na zdalnym serwerze, ale jest to zabezpieczone połączenie, ponieważ jest wysyłany przez istniejący tunel SSH, który ustanowiliśmy w drugim terminalu.

To wszystko. Możesz użyć tuneli SSH dla każdego rodzaju ruchu. Należy pamiętać, że powinieneś wskazać swoją aplikację na adres Localhost (127.0.0.1) i numer portu, który skonfigurowałeś dla tunelu SSH.

Jak tworzyć trwałe tunele SSH

Być może zauważyłeś, że w przypadku długoterminowych tuneli SSH jest dość niewygodne, że polega na naszym otwartym połączeniu SSH. Jeśli istnieje trochę tymczasowe opóźnienie lub terminal SSH po prostu osiągnie swój limit czasu, tunel zostaje zdejmowany wraz z sesją SSH.

Możesz zainstalować Autosh narzędzie z menedżerem pakietów systemu, jeśli chcesz utworzyć tunel, który automatycznie odkłada się z powrotem, gdy spadnie. Musisz mieć klawisze RSA skonfigurowane dla SSH bez hasła, aby ta metoda działała.

Składnia do budowy trwałego tunelu jest zasadniczo identyczna z normalną metodą SSH.

$ autosh -l 4500: 127.0.0.1:23 Uż[email protected] 

Zamykanie myśli

W tym przewodniku widzieliśmy, jak korzystać z przekazywania portów SSH w Linux. Pozwala to użytkownikowi zbudować bezpieczny tunel SSH, który może być wykorzystywany przez inne aplikacje i protokoły do ​​zaszyfrowanych połączeń z zdalnymi serwerami. Jako przykład widzieliśmy, w jaki sposób protokół Telnet można zabezpieczyć za pomocą przekierowania portu SSH. Nauczyliśmy się również, jak utrzymywać tunele SSH trwałe, używając narzędzia AutOsSh.

Powiązane samouczki Linux:

  • Jak skonfigurować serwer FTP/SFTP i klient na Almalinux
  • Jak skonfigurować serwer SFTP na Ubuntu 22.04 JAMMY Jellyfish…
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Linux Pliki konfiguracyjne: Top 30 Najważniejsze
  • Skonfiguruj serwer FTP w systemie Linux
  • Rzeczy do zainstalowania na Ubuntu 22.04
  • Pobierz Linux
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?