Мой настольный домашний компьютер (см. Изображение ниже) подключается через SSH к Office Server (конечно, через Интернет).
Я подключаюсь к этому серверу со своего домашнего рабочего стола (под управлением Linux) с помощью клиента OpenSSH из Linux (обратите внимание на ключ -g
для "шлюза"):
ssh MyUser@OfficePublicIP -L 22222:172.26.0.10:22 -g
Итак, когда соединение установлено, у меня работает туннель SSH к серверу для моей локальной сети:
luis@HomeDesktop:~$ netstat -ano | grep "22222" -i
tcp 0 0 0.0.0.0:22222 0.0.0.0:* LISTEN off (0.00/0/0)
И теперь я могу перейти на свой домашний ноутбук и открыть сессию SSH на офисном сервере через домашний рабочий стол (под управлением Windows), используя PuTTY, выполнив:
PuTTY 192.168.0.101 -P 22222
Процесс показан на этой схеме (следуйте стрелкам черной линии):
Проблема в том, что мне нужно запускать Windows на своем домашнем компьютере, а не Linux. И я, конечно же, предпочитаю использовать SSH-клиент Putty (мне нравится его конфигурируемость терминала).
Но у Putty v0.63, по-видимому, нет опции -g (gateway), которая позволяет внешним соединениям перенаправлять (туннелировать) порты.
Я провел исследование с помощью файла .chm справки putty, но ни Putty, ни связанный с ним инструмент PLink, похоже, не имеют этой опции.
Кто-нибудь знает, как туннелировать соединения с офисным сервером с моего домашнего рабочего стола, но продолжать использовать PuTTY?