Putty поддерживает туннели ssh, если вы развернете дерево соединений, SSH, вы увидите запись для туннелей.
Локальные туннели создают порт localhost, открывающийся на вашей машине с Windows, который удален по указанному вами IP-адресу и порту. Например, когда я пытаюсь выполнить RDP к рабочему столу в моем доме, я обычно выбираю случайный локальный порт, например, 7789, а затем помещаю локальный IP-адрес рабочего стола (1.2.3.4:3389) в качестве удаленного хост. Обязательно нажмите «Добавить», затем «Применить». В этот момент, когда вы вернетесь к 127.0.0.1:7789, вы подключитесь к 1.2.3.4:3389 через сеанс замазки.
Вот тут-то и начинается самое интересное. Если вы затем настроите туннель порта на своем промежуточном блоке, настроив локальный порт, который вы указали в качестве удаленного порта в замазке, вы сможете затем отскочить через замазку через промежуточный блок до конечного пункта назначения. Вам все еще нужно будет выполнить несколько соединений ssh, но вы сможете пересекать vnc или rdp непосредственно из системы Windows, как только вы установите, что, как я полагаю, вы ищете.
ПРИМЕР
- Перейдите к панели туннелей в Putty (Connections-> SSH-> Tunnels, доступ к которой можно получить либо из контекстного меню, если сессия ssh уже активна, либо на экране начального соединения при запуске putty)
- Создайте туннель с локальным источником 15900 и удаленным источником 127.0.0.1:15900
- Подключиться (если еще не подключен) к Gateway1.
- На Gateway1, ssh -L 127.0.0.1:15900:VNCServerIP:5900 user @ Gateway2
- Как только SSH к Gateway2 будет запущен, попытайтесь выполнить vnc до 127.0.0.1:15900 - теперь вы должны увидеть экран VNC на дальней стороне!
ДОБАВЛЕННЫЙ БОНУС - не многие знают об этом, но этот процесс также можно использовать для прокси-трафика IPv6 / IPv4. SSH не заботится о том, какой протокол он использует для туннелей, поэтому теоретически вы можете получить доступ только к узлам IPv6 только из системы только IPv4, учитывая, что сервер ssh имеет двойной стек (имеет адреса как IPv4, так и IPv6).