Как подключиться по SSH из Perl-скрипта с компьютера Windows на компьютер EC2

Я хочу установить ssh-туннель между моей машиной Windows и машиной EC2, я хочу использовать для этого perl, согласно этому documentation, мне нужно использовать скрипт ./driver.pl, который мне не удалось найти.

Я использую эту строку для ssh на моем компьютере с помощью командной строки.

ssh -2 -p 22 username@id-address -i keyfile.ssh -L p8600/Localhost/3306

Я пробовал это из этого сообщения, но получаю эту ошибку:

my $ssh_pid= open("ssh -2 -p 22 username@id-address -i keyfile.ssh -L p8600/Localhost/3306 |") or die;

Can't use string ("ssh -2 -p 22 username@id-address"...) as a symbol ref while " strict refs" in use at .\start.pl line 39. D:\DESKTOP\JEFF_SHIH\MAPPING_FILE_GENERATOR>

как я могу перевести указанную выше строку в perl или исправить указанную выше строку, чтобы избавиться от ошибки. Я установил Net :: SSH :: Tunnel

Спасибо!


person mongotop    schedule 02.08.2013    source источник
comment
Я сомневаюсь, что open работает так, как вы ожидаете, в системах Windows.   -  person marderh    schedule 02.08.2013
comment
Windows или * nix, open возвращает флаг успеха, а не pid. Первый параметр open - это всегда дескриптор файла, а не случайная команда оболочки. perldoc perlopentut, perldoc -f open - отличные отправные точки для изучения того, как его использовать.   -  person tjd    schedule 02.08.2013


Ответы (1)


Используйте Net::SSH::Perl, чтобы избежать сложных (в Windows!) Зависимостей от бинарных файлов ssh. Этот модуль полностью написан на Perl, поэтому он должен работать на любой платформе. Net :: SSH :: Perl

person marderh    schedule 02.08.2013