Как создать SSH-туннель с помощью PuTTY в Windows? - PullRequest
28 голосов
/ 12 февраля 2011

Мне нужно создать SSH-туннель с PuTTY в Windows, который будет делать то же самое, что и эта команда в Linux:

ssh -fN -L 2000:SomeIp:2000 myusername@myLinuxBox

Я пробовал много вариантов в PuTTY, включая установку исходного порта в графическом интерфейсе на «2000»."и пункт назначения" SomeIp: 2000 ".Назначение настроено на локальное (как предполагает переключатель -L).

Я успешно вошел в систему с моим SSH-боксом, но переадресация порта не производится.

Возможно ли это даже в Windows, так чтовсе соединения, сделанные программами, которые используют этот порт (2000), будут проходить через этот туннель?

Ответы [ 5 ]

22 голосов
/ 20 марта 2015

С пакетом PuTTY вы можете настроить туннель либо с помощью самого PuTTY (GUI), либо с помощью инструмента командной строки plink.exe.


С plink.exe вы используетете же аргументы, что и в OpenSSH ssh, за исключением -f, который не имеет эквивалента в Windows.

plink.exe -N -L 2000:SomeIp:2000 myusername@myLinuxBox

Ссылка: Использование инструмента подключения из командной строки Plink


С PuTTY, -L 2000:SomeIp:2000 переводится в:

PuTTY tunnel settings

Так что на самом деле, вы утверждаете, что пытались.Если у вас есть какие-либо проблемы, используйте журнал событий PuTTY для расследования:

PuTTY event log

-N переводится в опцию "Не запускать оболочку или команду приall ".

PuTTY option Don't start a shell or command at all

Но, вероятно, нет смысла включать его с помощью GUI-клиента, так как вы все равно получаете окно, вы просто не можете сделатьничего с этим.См. Также PuTTY Wish-No-Terminal-Window .

11 голосов
/ 12 февраля 2011

Или вы можете пробираться через графический интерфейс, который также позволяет это. См. Connection > SSH > Tunnels слева с деревом опций.

enter image description here

11 голосов
/ 12 февраля 2011

Вы, вероятно, хотите использовать plink.exe вместо клиента GUI. Синтаксис командной строки совместим с iirc.

1 голос
/ 05 июля 2019

В приведенных выше ответах упоминаются два различных способа решения проблемы:

  • с использованием plink
  • с использованием GUI замазки

У меня нет plinkи я не могу скачать файл plink.exe (это строго контролируемая ограниченная среда), поэтому я использовал другой способ для сценария решения с помощью однострочного сценария:

start putty -ssh myusername@myLinuxBox -pw my_pw -L 2000:localhost:2000

Сохраните это в пакетефайл (расширение файла ".bat", например "tunnel.bat").Поэтому каждый раз, когда вы дважды щелкаете по этому файлу, запускается команда и putty создает туннель ssh.Если вам нужно больше туннелей, просто повторите эту часть

-L 2000: localhost: 2000

, изменив соответствующие порты.

0 голосов
/ 13 августа 2018

«Исходный» порт - это номер порта на том же компьютере, с которого вы используете putty (например, откройте его в вашем браузере: 127.0.0.1:source).«Пункт назначения» - это удаленный порт, к которому вы хотите подключиться с локального компьютера.Он начал работать после того, как я это понял.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...