Розмістіть вихід 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, досягнення цього слухача фіксованим переспрямуванням — інша схема.