2013-08-02 3 views
0

내 Windows 컴퓨터와 EC2 컴퓨터 사이에 ssh 터널을 설정하고 싶습니다.이 말은 documentation에 따라 perl을 사용하고 싶습니다. ./driver를 사용해야합니다. 내가 찾을 수없는 .pl 스크립트.Windows 컴퓨터에서 EC2 컴퓨터로 Perl 스크립트에서 SSH하는 방법

명령 줄을 사용하여이 문자열을 내 컴퓨터로 ssh로 전송합니다.

ssh -2 -p 22 [email protected] -i keyfile.ssh -L p8600/Localhost/3306

나는이 post에서 이것을 시도하지만 난이 오류 :

my $ssh_pid= open("ssh -2 -p 22 [email protected] -i keyfile.ssh -L p8600/Localhost/3306 |") or die;

Can't use string ("ssh -2 -p 22 [email protected]"...) as a symbol ref while " strict refs" in use at .\start.pl line 39. D:\DESKTOP\JEFF_SHIH\MAPPING_FILE_GENERATOR> 나는 펄 또는 위의 문자열을 해결하기 위해 위의 문자열을 번역 할 수있는 방법

오류가 발생합니다. Net :: SSH :: Tunnel을 설치했습니다.

고마워요!

+2

Windows 시스템에서 'open'하는 방식이 예상대로 작동합니다. – marderh

+2

Windows 또는 * nix,'open'은 pid가 아니라 성공 플래그를 반환합니다. 'open'의 첫 번째 매개 변수는 항상 파일 핸들이며 임의의 쉘 명령이 아닙니다. 'perldoc perlopentut','perldoc -f open'은 그것을 사용하는 법을 배우기위한 훌륭한 출발점입니다. – tjd

답변

1

을 사용하면 ssh- 바이너리에 대한 (Windows!) 종속성을 피할 수 있습니다. 이 모듈은 Perl로 작성되었으므로 모든 플랫폼에서 작동해야합니다. Net::SSH::Perl

+0

이것은 최고의 대안입니다 !! 고마워 Marderh !!! – mongotop