设为首页 收藏本站
查看: 1276|回复: 0

[经验分享] CentOS 下安装Net::SSH::Perl模块总结

[复制链接]

尚未签到

发表于 2015-12-26 12:44:30 | 显示全部楼层 |阅读模式
  这两天为了实现远程登录折腾了两三天,先是查阅了实现方法,网上用Perl实现就有很多方法。
  1.使用Net::SSH::Perl
  2.使用Expect模块
  3.使用Net::SSH::Expect
      4.直接使用shell命令实现ssh -p port username@IP  $passwd

      这些方法中准备使用Perl的Net::SSH::Perl 模块来实现,因为网上代码有很多,而且可读性强,比如下面脚本



#!/usr/bin/perl
use strict;
use warnings;
use Net::SSH::Perl;
my $ssh = Net::SSH::Perl->new("192.168.4.217", port => 22);
print "login\n";
$ssh->login("root", "123qwe");
print "cmd\n";
my ($stdout, $stderr, $exit) = $ssh->cmd("ls -l /tmp");
print "$stdout\n";
  但是在安装时候遇到了一系列的问题,首先明确Net::SSH,Net::SSH2,Net::Telnet与Net::SSH::Perl 模块并没有关系,连依赖都没有,我试着安了两台机器,发现Net::SSH::Perl 模块需要如下的依赖包(使用instmodsh命令可以看到安装了哪些模块):
  Crypt::DES
   Crypt::DH
   Crypt::DSA
   DCOP
   Digest::HMAC
   Digest::SHA
   Digest::SHA1
   File::Which
   Math::BigInt
   Math::BigInt::GMP
   Math::Pari
   Net::SSH::Perl
   Perl
  我到cpan下搜索出这些包一个一个的安装(因为CentOS主机不能联网),当然我是先运行上面那个perl脚本,才一个一个发现需要的依赖的。这里面除了Math::Pari,其他模块都可以直接这样做。
  1.tar zxvf 压缩包
  2.cd 目录下
  3.perl Makefile.PL
  4.make
  5.make install
  (网上很多都说需要make test ,我没有test也能正常使用,但是第一次安装的时候,test有问题则安装失败)
  只有Math::Pari这个包有问题,如果直接像上面那样做,安装提示有error,网上说是缺少Pari lib包(不是一样的,需要到Pari的网站去下载,不是CPAN),网站上最新的是pari-2.5.3,安装时1 ./Configure 2 make 3 make install,一开始安装有问题,但是还是安装成功了,但是这时安装Math::Pari 模块会提示你Version too new,网上有人说是新版本不支持,我有下载了2.3.0.安装后还是有点问题,后来又下载了pari-2.1.7,我看模块的Readme里面写的需要2.1.7的包,所以下了,鼓弄半天不怎么就安装上了,后来就觉得其实不用安装pari lib包,直接解压到Math-Pari 包里,他自己就去读他要的文件了,然后不用make test,直接make install,好像就可以,因为前几次就是卡在了make test里面。
  这次的环境搭建让我知道了安装模块之间有很强的依赖,如果没有安装全,就会出现 Can't locate XXX/XXX.pm 这样类似的错误,安装之前最好读下包里面的README 或者 INSTALL文件,有能力之后可以读下他的Makefile,可以学到不少。
  在不同版本的Perl下,可能需要的包不一定相同,在第一次安装的机器上是Perl 5.14 ,后来又在Perl 5.8.8里安装一遍,用到了一个Digest-SHA包,而不是Digest-SHA1包,可能是低版本发行时没有SHA1.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-156556-1-1.html 上篇帖子: How to debug Perl CGI scripts 下篇帖子: perl教程(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表