/文章

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

执行cpan命令安装模块

cpan
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

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

本文固定链接:http://www.bbtang.info/script/perl/458.html 原文链接:Perl的Net::SSH::Perl模块实现远程登陆ssh,转发请注明来源!
2 0

发表评论