Как настроить SSH-туннель в Linux

23 feb 2023 3 min di lettura
Как настроить SSH-туннель в Linux
Indice dei contenuti

Введение

SSH Tunnel (Secure Shell Tunnel) — сетевая технология, позволяющая создать безопасное соединение между двумя устройствами, благодаря чему сетевой трафик между ними шифруется и защищается от возможных внешних атак.

По сути, туннель SSH позволяет вам создать безопасный канал связи через Интернет с использованием протокола SSH (Secure Shell), который является безопасным сетевым протоколом для удаленного доступа и управления сервером.

Например, вы можете использовать туннель SSH для доступа к сетевому ресурсу или службе через небезопасное подключение к Интернету, такое как общедоступное подключение Wi-Fi или незащищенное подключение к Интернету.

В этом случае вы создаете SSH-соединение между вашим устройством и защищенным сервером и маршрутизируете сетевой трафик через это соединение, чтобы сетевой трафик был зашифрован и защищен от внешних атак.

Предпосылки

Прежде чем начать, вам понадобится несколько вещей:

  • Linux-компьютер
  • Доступ к удаленному серверу, который поддерживает SSH

Базовая SSH-команда

Сначала откройте окно терминала на вашем компьютере с Linux. Вы можете сделать это, нажав Ctrl + Alt + T или перейдя в меню приложения и выполнив поиск «Терминал».

Чтобы настроить туннель SSH в Linux, мы будем использовать команду ssh. Основной синтаксис команды ssh следующий:

ssh [user@]hostname [-p port] [command]

Вот что делает каждая часть команды:

  • [user@ ]hostname]: удаленный сервер, к которому вы хотите подключиться. Вы можете указать имя пользователя для подключения перед именем хоста, например: имя пользователя@имя хоста.
  • [-p порт]: номер порта для подключения SSH. По умолчанию SSH использует порт 22, но при необходимости вы можете указать другой номер порта.
  • [команда]: команда, которую вы хотите выполнить на удаленном сервере. В этом случае мы будем создавать туннель SSH, поэтому вам не нужно указывать команду.

Настроить локальный SSH-туннель

Локальное туннелирование SSH используется для переадресации локального порта на удаленный сервер. Например, если на вашем локальном компьютере работает веб-сервер, к которому вы хотите получить доступ с удаленного сервера, вы можете использовать локальное туннелирование SSH для перенаправления порта веб-сервера на удаленный сервер. Вот пример:

ssh -L [local_port]:[remote_host]:[remote_port] [user@]hostname -p [port]

Вот что делает каждая часть команды:

  • -L [local_port]:[remote_host]:[remote_port]: указывает номер локального порта для использования для туннеля SSH (local_port), удаленный хост и номер порта для подключения через туннель SSH (remote_host:remote_port ).
  • [ user@ ]hostname: удаленный сервер, к которому вы хотите подключиться. Вы можете указать имя пользователя для подключения перед именем хоста, например: имя пользователя@имя хоста.
  • -p [порт]: номер порта для подключения SSH. По умолчанию SSH использует порт 22, но при необходимости вы можете указать другой номер порта.

Например, если вы хотите настроить туннель SSH на порту 8080 для доступа к веб-серверу на удаленном сервере с IP-адресом 192.168.1.100, используйте следующую команду:

ssh -L 8080:localhost:80 [email protected] -p 22

Эта команда устанавливает туннель SSH, который связывает локальный порт 8080 с портом 80 удаленного сервера, позволяя вам получить доступ к веб-серверу удаленного сервера на вашем локальном компьютере, перейдя по адресу «http://localhost:8080» в веб-браузере.

Настроить удаленный SSH-туннель

Удаленное туннелирование SSH используется для переадресации удаленного порта на локальный компьютер. Например, если у вас есть сервер базы данных, работающий на удаленном сервере, к которому вы хотите получить доступ с вашего локального компьютера, вы можете использовать удаленное туннелирование SSH, чтобы перенаправить порт сервера базы данных на ваш локальный компьютер. Вот пример:

ssh -R 3306:localhost:3306 [email protected]

Эта команда перенаправляет порт 3306 на удаленном сервере на порт 3306 на локальном компьютере. Затем вы можете подключиться к серверу базы данных, работающему на удаленном сервере, подключившись к локальному хосту: 3306 на локальном компьютере.

Настроить обратный SSH-туннель

Обратное туннелирование SSH используется для подключения удаленного сервера к локальной машине. Например, если у вас есть локальный компьютер с веб-сервером, к которому вы хотите разрешить доступ с удаленного сервера, вы можете использовать обратное туннелирование SSH для создания безопасного соединения между двумя компьютерами. Вот пример:

На локальном компьютере выполните следующую команду:

ssh -R 8080:localhost:80 [email protected]

Эта команда перенаправляет порт 8080 на удаленном сервере на порт 80 на локальном компьютере. Затем вы можете получить доступ к веб-серверу, работающему на вашем локальном компьютере, подключившись к http://remote-server.com:8080.

Используя SSH-туннелирование, вы можете безопасно получать доступ к ресурсам на удаленных серверах и перенаправлять порты между машинами, не подвергая их общедоступному Интернету.

Держите туннель SSH активным

Помните, что туннели SSH требуют активного подключения к удаленному серверу, чтобы оставаться открытыми. Если соединение по какой-либо причине будет прервано, туннель будет закрыт, и вам придется перенастраивать его.

Чтобы избежать этого, вы можете использовать такой инструмент, как autossh, который автоматически переподключает туннель SSH, если соединение потеряно.

Заключение

Настройка туннеля SSH в Linux может быть полезным способом защитить вашу конфиденциальность и безопасность в Интернете. Используя команду ssh, вы можете легко создать безопасный туннель к удаленному серверу и направить через него свой интернет-трафик. Следуя шагам

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.