Perl的Net::SSH::Perl模块实现远程登陆ssh

来源:互联网 发布:竞猜网站源码 编辑:程序博客网 时间:2024/06/05 19:04


install Net::SSH::Perl

_[ZRHLGNU@W~]~NZ4LWGA[2

选择SSH版本,直接默认即可

A8})~JN@%U[OH)XFE9DQHWG

选择使用的加密方式,也是默认

`4DJI`}S]P$GHMB6@RNGU%C

默认回车同意安装

接下来你会看见很多地方让你选择yes或者是no你只要一路回车就可以了,这些cpan就会帮你搞定.

PS:可能会装很多东西的.

下面让我们来测试一下看看能不能正常显示

use Net::SSH::Perl;my $host='127.0.0.1';my $user='root';my $passwd='111111';my $ssh = Net::SSH::Perl->new($host,port=>22);$ssh->login($user,$passwd);my ($stdout,$stderr,$exit) = $ssh->cmd("date");$ssh->cmd("exit");if($stderr){print "ErrorCode:$exit\n";print "ErrorMsg:$stderr";} else {print $stdout;}exit $exit;

如果正常的话返回结果应该和你执行date命令时一样.

要是你安装完Net::SSH::Perl后执行这个脚本提示如下内容

Can't locate Net/SSH/Perl.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .)

那就是你的perl没找到SSH模块,你可以搜一下你的这个模块撞到哪里了,然后做个连接过去.

find / -name SSH

我的显示内容如下,因为我是cpan安装的所以是装在我的家目录的.cpan里边的

/root/.cpan/build/Net-SSH-Perl-1.35-hYbyzd/lib/Net/SSH/root/.cpan/build/Net-SSH-Perl-1.35-BIJe7I/blib/lib/Net/SSH/root/.cpan/build/Net-SSH-Perl-1.35-BIJe7I/blib/lib/auto/Net/SSH/root/.cpan/build/Net-SSH-Perl-1.35-BIJe7I/blib/arch/auto/Net/SSH/root/.cpan/build/Net-SSH-Perl-1.35-BIJe7I/lib/Net/SSH/root/.cpan/build/Net-SSH-Perl-1.35-UjKFy1/lib/Net/SSH/root/.cpan/build/Net-SSH-Perl-1.35-C0TFof/lib/Net/SSH

找到第一个做一个连接到上边提示的任意一个目录,命令如下

ln -s /root/.cpan/build/Net-SSH-Perl-1.35-hYbyzd/lib/Net /usr/local/lib64/perl5/

注意:只到Net这级目录就可以了,下边的SSH就不要了.

你也可以执行一下一下命令看看SSH模块是不是正确安装了

 

这样再重新执行一下刚才的脚本看看,是不是正常了.

perldoc -lm Net::SSH::Perl

要是正常的话你应该能看到你刚才链接过去的文件哦~~~


0 0
原创粉丝点击