Разместите выход SOCKS на последнем переходе SSH
Сочетайте транспорт через хост-переход SSH с локальной динамической переадресацией, сохраняя итоговое подключение к сайту на нужном шлюзе.
Настройте последний 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, достижение этого слушателя фиксированной переадресацией — иная схема.