Обычно туннель SSH SOCKS даёт ноутбуку сетевой выход сервера. Обратное динамическое перенаправление переворачивает эту схему: программа на удалённой машине может использовать сеть, доступную вашему SSH-клиенту.

На клиенте OpenSSH, поддерживающем удалённое перенаправление без назначения:

ssh -N -R 127.0.0.1:1080 [email protected]

SOCKS-слушатель находится на remote.example.net и привязан к своему loopback-адресу. Программы там используют 127.0.0.1:1080. Подключения к назначениям идут обратно через SSH и открываются со стороны, где работает ваш клиент.

Читайте направление раньше IP

Документация ‎-R делает пропущенное назначение значимым. Спецификация с port:host:hostport — это, наоборот, фиксированное перенаправление. Не предполагайте, что старый клиент поддерживает краткую динамическую форму.

Внешний IP — это тот, который сеть на стороне клиента использует для таких подключений. Ноутбук за домашним маршрутизатором может выходить через транслированный публичный адрес маршрутизатора. Это не обязательно IP сервера SSH и не адрес, назначенный ноутбуку напрямую.

Держите удалённый слушатель ограниченным. Привязка с подстановочным знаком может позволить другим машинам использовать сеть на стороне клиента как выход, в соответствии с политикой сервера. Даже loopback может быть доступен другим подходящим процессам на удалённом хосте; это не секрет отдельного процесса.

Для ограниченного набора назначений проверьте PermitRemoteOpen и политику перенаправления сервера. Маршрут также зависит от того, остаётся ли клиент в сети. Когда это соединение закрывается, удалённый путь через прокси исчезает. Обратное перенаправление меняет то, откуда возникают подключения; оно не даёт самостоятельного прокси, независимого от сессии SSH.

Похожие статьи