Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

SSH-туннель: что это такое и как настроить безопасный доступ к скрытым сервисам

Linux и DevOps

SSH-туннели подходят для безопасного доступа к внутренним сервисам без публикации портов наружу. Подход удобен администраторам, инженерам и разработчикам, работающим с закрытыми HTTP-панелями, базами данных и приватными API. Проброс портов выполняется через защищённое SSH-соединение, а сервисы остаются недоступны извне.

SSH-туннель также называют SSH port forwarding — это передача порта через защищённый SSH-канал.

Зачем нужны SSH-туннели

  • доступ к админ-панелям и приватным UI;
  • подключение к PostgreSQL, MySQL, Redis, доступным только по 127.0.0.1;
  • работа с внутренними API;
  • отладка сервисов без изменения настроек сети и firewall.

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

Как работает SSH-туннель

Туннель привязывает локальный порт к порту на удалённом сервере. Пример:

  • сервис на сервере слушает 127.0.0.1:3002;
  • создаётся туннель 3002 → 127.0.0.1:3002;
  • переход по адресу http://localhost:3002 открывает удалённый UI.

Что нужно для настройки

  • адрес сервера;
  • SSH-учётные данные (ключ или пароль);
  • порт сервиса на сервере (например 3002, 5432, 6379).

SSH-туннель не запускает сервис. Он лишь прокидывает доступ к нему.

SSH-туннель на Linux и macOS

На системах используют стандартную команду ssh с опцией -L.

Базовый синтаксис

ssh -L <локальный_порт>:127.0.0.1:<удалённый_порт> <пользователь>@<сервер>

Например, проброс веб-панели:

ssh -L 3002:127.0.0.1:3002 user@server.com

После подключения UI будет доступен по адресу http://localhost:3002.

Если UI не открывается, проверьте, слушает ли сервис нужный порт на 127.0.0.1.

Проброс базы данных PostgreSQL

ssh -L 5432:127.0.0.1:5432 user@server.com

Подключение в клиенте БД:

  • host: localhost
  • port: 5432

SSH-туннель на Windows через PuTTY

Настройка подключения

  1. Откройте PuTTY.
  2. Укажите адрес сервера в поле Host Name.
  3. Задайте порт SSH при необходимости.

Добавление туннеля

  1. Перейдите в Connection → SSH → Tunnels.
  2. Source port: 3002.
  3. Destination: 127.0.0.1:3002.
  4. Нажмите Add.
  5. В Session нажмите Open.

Доступ: http://localhost:3002

SSH-туннель на Windows через MobaXterm

Создание сессии

  1. Откройте Session → SSH.
  2. Введите Remote host.
  3. Укажите Username.

Добавление туннеля

  1. Откройте SSH tunnels.
  2. Type: Local.
  3. Local port: 3002.
  4. Remote server: 127.0.0.1.
  5. Remote port: 3002.

Интерфейс будет доступен по адресу http://localhost:3002.

Типовые сценарии

Задача Команда Подключение
Веб-панель ssh -L 3002:127.0.0.1:3002 user@server http://localhost:3002
PostgreSQL ssh -L 5432:127.0.0.1:5432 user@server localhost:5432
Redis ssh -L 6379:127.0.0.1:6379 user@server localhost:6379
HTTP-API ssh -L 8080:127.0.0.1:8080 user@server http://localhost:8080

Безопасность SSH-туннелей

  • сервисы доступны только по 127.0.0.1;
  • внешний доступ возможен только при наличии SSH-ключа;
  • весь трафик шифруется;
  • нет необходимости открывать дополнительные порты.

Использование SSH-ключей и ограничение доступа повышает безопасность инфраструктуры.

FAQ

Можно создать несколько туннелей одновременно?

ssh \
  -L 3002:127.0.0.1:3002 \
  -L 5432:127.0.0.1:5432 \
  user@server.com

Можно использовать SSH-ключи?

ssh -i ~/.ssh/id_rsa -L 3002:127.0.0.1:3002 user@server.com

Можно указать другой локальный порт?

ssh -L 9999:127.0.0.1:3002 user@server.com

Что проверить при ошибках?

  • работает ли обычное SSH-подключение;
  • слушает ли сервис нужный порт;
  • свободен ли локальный порт;
  • не блокирует ли подключение локальный firewall.

Попробуйте изменить локальный порт и проверить логи сервера.

Заключение

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

Оцените статью
ctrllife.ru
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x