В основном существует два типа переадресации портов SSH. Перенаправление локальных портов и перенаправление удаленных портов.
В этой статье я покажу вам, как сделать переадресацию портов в Linux. Чтобы следовать этой статье, на вашем компьютере с Linux должны быть установлены утилиты SSH. Я покажу тебе, как это сделать, не волнуйся. Давайте начнем.
Установка утилит SSH в Red Hat Enterprise Linux (RHEL) 7 и CentOS 7
В RHEL 7 и CentOS 7 вы можете установить утилиты SSH с помощью следующей команды:
$ sudo yum установить openssh-clients openssh-server
Нажмите у а затем нажмите
Утилиты SSH должны быть установлены.
Установка утилит SSH в Ubuntu, Debian и других дистрибутивах на основе Ubuntu / Debian
В Ubuntu, Debian, Linux Mint и других дистрибутивах, основанных на операционной системе Ubuntu / Debian, выполните следующую команду для установки утилит SSH:
$ sudo apt-get install openssh-client openssh-server
Теперь нажмите у а затем нажмите
Утилиты SSH должны быть установлены.
Установка утилит SSH в Arch Linux
Если вы используете Arch Linux, выполните следующую команду для установки утилит SSH:
$ sudo pacman -Sy openssh
Теперь нажмите у а затем нажмите
Утилиты SSH должны быть установлены.
В Arch Linux SSH-сервер не запускается по умолчанию. Вам нужно будет запустить его вручную с помощью следующей команды:
$ sudo systemctl start sshd
Теперь добавьте SSH-сервер в автозагрузку системы, чтобы он запускался автоматически при загрузке системы:
$ sudo systemctl включить sshd
Перенаправление локального порта
Перенаправление локального порта используется для перенаправления порта удаленного сервера на другой порт локального компьютера. Пример поможет вам понять, что я имею в виду.
Допустим, у вас есть сервер, server1 который имеет IP-адрес 192.168.199.153. server1 имеет запущенный веб-сервер. Конечно, если вы подключены к той же сети, что и сервер server1, затем вы можете ввести IP-адрес в браузере и подключиться к server1 с вашего компьютера. Но что, если вы хотите получить к нему доступ, как если бы служба запущена на вашем компьютере через какой-то порт? Вот что делает переадресация локальных портов.
Как вы можете видеть на скриншоте ниже, я могу получить доступ к веб-серверу на server1 используя свой IP-адрес:
Теперь выполните следующую команду со своего локального компьютера, чтобы перенаправить порт 80 (http) на порт 6900 (скажем) на ваш локальный компьютер:
$ ssh -L 6900: 192.168.199.153: 80 локальный
Печатать да а затем нажмите
Теперь введите пароль своего локального компьютера и нажмите
Вы связаны.
Теперь вы можете получить доступ к веб-серверу, который вы использовали раньше, по адресу http: // localhost: 6900, как вы можете видеть на скриншоте ниже.
Переадресация удаленного порта
Перенаправление удаленного порта - это перенаправление порта локального сервера / компьютера на удаленный сервер. Таким образом, даже если у вашего локального сервера / компьютера нет IP-адреса с маршрутизацией в Интернете, вы все равно можете подключиться к нему, используя IP-адрес удаленного сервера и перенаправленный порт.
Допустим, вы хотите подключиться к веб-серверу локального компьютера из Интернета. Но у него нет IP-адреса с маршрутизацией в Интернете. Вы можете использовать удаленный (например, VPS) сервер, к которому можно получить доступ из Интернета, и выполнять с его помощью удаленную переадресацию портов. У меня нет VPS. Давайте просто предположим server1 это удаленный сервер.
Сначала настройте server1 сервер, чтобы разрешить доступ к перенаправленным портам через Интернет.
Для этого отредактируйте / и т.д. / sshd_config с помощью следующей команды:
$ sudo nano / etc / sshd_config
Вы должны увидеть следующее окно.
Прокрутите вниз и найдите GatewayPorts как отмечено на скриншоте ниже.
Теперь раскомментируйте его и установите да как отмечено на скриншоте ниже.
Теперь нажмите
Теперь перезапустите SSH-сервер server1 с помощью следующей команды:
$ sudo systemctl перезапустить sshd
На моем локальном компьютере работает веб-сервер, как вы можете видеть на скриншоте ниже.
Теперь вы можете запустить следующую команду с локального компьютера для перенаправления порта 80 (http) вашего локального компьютера для переноса 9999 на удаленном сервере server1 у которого есть IP-адрес 192.168.199.153:
$ ssh -R 9999: локальный: 80192.168.199.153
Печатать да и нажмите
Введите пароль вашего удаленного сервера server1.
Вы связаны.
Как видно на скриншоте ниже, я могу подключиться к порту 9999 на моем удаленном сервере server1 и получить доступ к моему локальному веб-серверу.
Я также могу подключиться к своему веб-серверу, используя IP-адрес удаленного сервера server1 и переадресованный порт 9999 с других компьютеров в моей сети, как вы можете видеть на скриншоте ниже.
Вот как вы делаете переадресацию портов SSH в Linux. Спасибо, что прочитали эту статью.