#Что означает ошибка
SSH tunnel
Туннели позволяют безопасно обращаться к удалённым сервисам. Проверьте AllowTcpForwarding и привязку порта.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Запрещён форвардинг | В случае «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» проверьте наличие причины «Запрещён форвардинг» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Разрешите. Конкретное действие зависит от проверки причины «Запрещён форвардинг», описанной в пошаговой инструкции. |
| Порт занят | В случае «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» проверьте наличие причины «Порт занят» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Смените |
| Привязка к localhost | Недоступно. Сопоставьте этот признак с точной стадией возникновения неисправности. | GatewayPorts. |
| Разрыв | В случае «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» проверьте наличие причины «Разрыв» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | ServerAliveInterval. |
#Пошаговое решение
- Определите причинуСначала определите цель:
-Lдаёт доступ к удалённому сервису через локальный порт,-Rоткрывает локальный сервис на удалённой стороне,-Dсоздаёт локальный SOCKS-прокси. Перед открытием порта согласуйте, кто должен иметь к нему доступ и не нарушает ли туннель политику сети. - Выполните подходящее исправлениеДля разрешённого локального проброса откройте терминал и запустите
ssh -N -L 127.0.0.1:8080:127.0.0.1:80 user@hostс фактическим хостом и сервисом; локально откройтеhttp://127.0.0.1:8080. Команда держит SSH-соединение открытым до остановки Ctrl+C и не публикует порт в Интернет. - Проверьте другие возможные причиныДля
-Rпроверьте на сервере допустимостьAllowTcpForwardingиGatewayPorts; по умолчанию удалённый порт безопаснее слушать только на loopback. Для-Dнастройте браузер на SOCKS5127.0.0.1:1080, если именно такой порт выбран. Не использовать туннель для обхода чужих ограничений. - Убедитесь в результатеЕсли соединение закрывается или порт занят, запустите SSH с
-vvv -o ExitOnForwardFailure=yes, отдельно проверьте владельца локального порта черезss -ltnp/netstat. После настройки повторите запрос именно через локальный туннель и убедитесь, что сервис доступен лишь с разрешённого интерфейса.
#Если проблема осталась
Если «SSH-туннели: проброс портов -L, -R и -D — как настроить и диагностировать» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.