我对使用perl编写脚本非常新.我试图ssh到服务器并执行一些命令.我必须提供用户名和密码.
尝试运行我到目前为止的脚本(下面列出的代码).我收到以下错误.
我假设这意味着我需要安装/制作Net / SSH / Perl.pm,但是,当我按照我在网上找到的说明和教程时,没有一个有效.
有人可以帮助我.我已经尝试过CPAN和ppm,CPAN说它找不到net :: ssh :: perl或该字符串的其他变体.并且ppm甚至不会运行,我在perl目录中看不到它.任何帮助是极大的赞赏!
// The code #!/usr/bin/perl use Net::SSH::Perl; $uName = "username"; $pWord = "password"; $unitIp = $ARGV[0]; my $ssh = Net::SSH::Perl->new($unitIp,35903); $ssh->login($uName,$pWord); my $out = $ssh->cmd("java -version"); print $out;
// the error that is returned Can't locate Net/SSH/Perl.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at needsAName.pl line 31. BEGIN Failed--compilation aborted at needsAName.pl line 31.
解决方法
你可以试试这个:
curl -L http://cpanmin.us | perl - --sudo App::cpanminus cpanm Net::SSH::Perl
区分大小写.
说明:第一行将安装“cpanm” – 什么是恕我直言安装模块最简单的方法第二行将安装模块Net :: SSH :: Perl