Как создать SSH-туннель с помощью PuTTY в Windows?
Мне нужно создать SSH туннель с PuTTY в Windows, который будет делать то же самое, что и эта команда в Linux:
ssh -fN -L 2000:SomeIp:2000 myusername@myLinuxBox
Я попробовал много вариантов в PuTTY, включая установку исходного порта в графическом интерфейсе "2000" и назначения "SomeIp:2000". Назначение установлено на локальный (как -L
Переключатель подсказывает).
Я успешно вошел в свой ящик SSH, но переадресация порта не производится.
Возможно ли это даже в Windows, чтобы все соединения, выполняемые программами, использующими этот порт (2000), проходили через этот туннель?
4 ответа
Вы, вероятно, хотите использовать plink.exe
вместо клиента GUI. Синтаксис командной строки совместим с iirc.
С набором PuTTY вы можете настроить туннель либо с помощью самого PuTTY (GUI), либо с помощью инструмента командной строки plink.exe
,
С plink.exe
, вы используете те же аргументы, что и с OpenSSH ssh
кроме -f
, который не имеет аналога в Windows.
plink.exe -N -L 2000:SomeIp:2000 myusername@myLinuxBox
Справка: Использование инструмента подключения командной строки Plink
Со шпаклевкой -L 2000:SomeIp:2000
переводится как:
Так что, на самом деле, вы утверждаете, что пытались. Если у вас есть какие-либо проблемы, используйте журнал событий PuTTY для расследования:
-N
переводится как "Не запускать оболочку или команду вообще".
Но, вероятно, с GUI-клиентом не имеет смысла его включать, так как вы все равно получаете окно, вы просто ничего не можете с ним сделать. Смотрите также PuTTY Wish No-Terminal-Window.
Или вы можете пройти через графический интерфейс, который также позволяет это. Увидеть Connection > SSH > Tunnels
на левой стороне с деревом опций.
В ответах выше упоминаются два разных способа решения проблемы:
- используя Plink
- используя шпатлевку GUI
У меня нет plink, и я не могу загрузить файл plink.exe (это тщательно контролируемая ограниченная среда), поэтому я использовал другой способ создания сценария решения с помощью однострочного сценария:
start putty -ssh myusername@myLinuxBox -pw my_pw -L 2000:localhost:2000
Сохраните это в пакетном файле (расширение файла ".bat", например, "tunnel.bat"). Таким образом, каждый раз, когда вы дважды щелкаете по этому файлу, команда запускается, и putty создает туннель ssh. Если вы хотите больше туннелей, просто повторите эту часть
-L 2000: локальный:2000
изменив порты соответствующим образом.
"Исходный" порт - это номер порта на том же компьютере, с которого вы используете putty (например, откройте его в вашем браузере: 127.0.0.1:source). "Назначение" - это удаленный порт, к которому вы хотите подключиться с локального компьютера. Это начало работать после того, как я понял это.