SSH Linux

SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Туннели позволяют безопасно обращаться к удалённым сервисам. Проверьте AllowTcpForwarding и привязку порта.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
SSH tunnel

Туннели позволяют безопасно обращаться к удалённым сервисам. Проверьте AllowTcpForwarding и привязку порта.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Запрещён форвардингВ случае «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» проверьте наличие причины «Запрещён форвардинг» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Разрешите. Конкретное действие зависит от проверки причины «Запрещён форвардинг», описанной в пошаговой инструкции.
Порт занятВ случае «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» проверьте наличие причины «Порт занят» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.Смените
Привязка к localhostНедоступно. Сопоставьте этот признак с точной стадией возникновения неисправности.GatewayPorts.
РазрывВ случае «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» проверьте наличие причины «Разрыв» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения.ServerAliveInterval.

#Пошаговое решение

  1. Определите причинуСначала определите цель: -L даёт доступ к удалённому сервису через локальный порт, -R открывает локальный сервис на удалённой стороне, -D создаёт локальный SOCKS-прокси. Перед открытием порта согласуйте, кто должен иметь к нему доступ и не нарушает ли туннель политику сети.
  2. Выполните подходящее исправлениеДля разрешённого локального проброса откройте терминал и запустите ssh -N -L 127.0.0.1:8080:127.0.0.1:80 user@host с фактическим хостом и сервисом; локально откройте http://127.0.0.1:8080. Команда держит SSH-соединение открытым до остановки Ctrl+C и не публикует порт в Интернет.
  3. Проверьте другие возможные причиныДля -R проверьте на сервере допустимость AllowTcpForwarding и GatewayPorts; по умолчанию удалённый порт безопаснее слушать только на loopback. Для -D настройте браузер на SOCKS5 127.0.0.1:1080, если именно такой порт выбран. Не использовать туннель для обхода чужих ограничений.
  4. Убедитесь в результатеЕсли соединение закрывается или порт занят, запустите SSH с -vvv -o ExitOnForwardFailure=yes, отдельно проверьте владельца локального порта через ss -ltnp/netstat. После настройки повторите запрос именно через локальный туннель и убедитесь, что сервис доступен лишь с разрешённого интерфейса.

#Если проблема осталась

Если «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.