Настройте последний SSH-сервер как хост, а промежуточный сервер поместите в ProxyJump:

Host proxy-exit
    HostName exit.example
    User operator
    ProxyJump [email protected]
    DynamicForward 127.0.0.1:1080

Имея авторизованные учётные записи на этих хостах, запустите ssh -N proxy-exit. Настройте локальное приложение на использование SOCKS по адресу 127.0.0.1:1080. Слушатель находится на клиенте; SSH-соединение достигает exit.example через jump.example.

Запрошенные подключения к сайтам открываются с удалённой стороны последнего сеанса SSH—exit.example. Переход переносит транспорт SSH до этого хоста и не становится выходом SOCKS только потому, что это была первая доступная машина.

Назначение видит адрес, выбранный маршрутизацией хоста выхода и любым NAT. Он не обязан совпадать с адресом входа имени хоста. Обоим серверам нужны права переадресации, требуемые их ролями, а проверки ключей хоста по-прежнему применяются к намеченным конечным точкам SSH.

Эта конфигурация создаёт службу SOCKS через динамическую переадресацию SSH. Если шлюз уже запускает независимый слушатель SOCKS, достижение этого слушателя фиксированной переадресацией — иная схема.

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