Узнайте, как настроить перенаправление портов SSH в вашей системе Linux. Удаленную пересылку также опишем.
Обычные пользователи Linux знают о SSH, поскольку именно это позволяет им удаленно подключаться к любому серверу, чтобы иметь возможность управлять им через командную строку. Однако это не единственное, что может предоставить вам SSH, он также может выступать в качестве отличного инструмента безопасности для шифрования ваших соединений, даже если шифрование по умолчанию отсутствует.
Например, допустим, у вас есть удаленный рабочий стол Linux, к которому вы хотите подключиться через SMTP или электронную почту, но брандмауэр в этой сети в настоящее время блокирует порт SMTP (25), что является очень распространенным явлением. Через SSH-туннель вы просто подключаетесь к этой конкретной службе SMTP, используя другой порт, просто используя SSH, без необходимости перенастраивать конфигурацию SMTP на другой порт и, кроме того, получать возможности шифрования SSH.
Чтобы сервер OpenSSH разрешил пересылку, необходимо убедиться, что он активен в конфигурации. Для этого вы должны отредактировать ваш файл /etc /ssh /ssh_config.
Для Ubuntu 18.04 этот файл немного изменился, поэтому вы должны откомментировать одну строку в нем:
После того, как вы откомментируете, вам нужно перезапустить службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart sshd
Теперь, когда у нас есть цель, настроенная на пересылку по SSH, нам просто нужно перенаправить через порт, который, как мы знаем, не заблокирован. Давайте использовать очень необычно заблокированный порт, например 3300:
ssh -L 3300:127.0.0.1:25 user@example.ru
Итак, теперь мы сделали это, весь трафик, который поступает на порт 25, будет автоматически отправляться на порт 3300. С другого компьютера или клиента мы просто подключимся к этому серверу к его порту 3300, и тогда мы сможем взаимодействовать с ним, как он был SMTP-сервером без каких-либо ограничений брандмауэра на его порт 25, в основном мы просто перенаправляли трафик его порта 25 на другой (не заблокированный), чтобы иметь возможность доступа к нему.
Мы говорили о переадресации локального порта на другой порт, но, скажем, вы хотите сделать это с точностью до наоборот: вы хотите перенаправить удаленный порт или что-то, к чему у вас есть доступ с сервера на локальный порт.
Чтобы объяснить это легко, давайте воспользуемся примером, аналогичным предыдущему: с этого сервера вы получаете доступ к определенному серверу через порт 25 (SMTP) и хотите «поделиться» этим через локальный порт 3302, чтобы любой другой мог подключиться к вашему серверу. на порт 3302 и посмотреть, что сервер видит на порту 25:
ssh -R 3302:127.0.0.1:25 user@example.ru
Как вы можете видеть, эта пересылка SSH действует как очень маленькая VPN, потому что она перенаправляет данные на заданные порты. Всякий раз, когда вы выполняете эти команды, они открывают оболочку SSH, так как он понимает, что вам нужно взаимодействовать с сервером через SSH. Если вам это не нужно, достаточно просто добавить в них опцию «-N», чтобы они просто не открывали никакой оболочки.
Понравилась статья? Пожалуйста, поделитесь им и помогите нам расти 🙂