加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

用Net::SSH::Perl和Net::SCP::Expect写部署脚本

发布时间:2020-12-15 20:52:05 所属栏目:大数据 来源:网络整理
导读:一般写shell脚本多台服务器之间进行操作要打通密码,就是公私钥认证方式。如果用Perl的Net::SSH::Perl和Net::SCP::Expect库不需要创建公私钥,直接用原有ssh帐户就可以实现部署脚本的自动化。 安装方法: cpan -i Net::SSH::Perlcpan -i Net::SCP::Expect 注
一般写shell脚本多台服务器之间进行操作要打通密码,就是公私钥认证方式。如果用Perl的Net::SSH::Perl和Net::SCP::Expect库不需要创建公私钥,直接用原有ssh帐户就可以实现部署脚本的自动化。

安装方法:
cpan -i Net::SSH::Perl
cpan -i Net::SCP::Expect

注:Net::SSH::Perl依赖gmp,我在mac os上刚开始安装gmp5会报错,换gmp4就没问题。

Net::SSH::Perl:
#查看192.168.1.102服务器的/tmp目录下的文件
my $ssh = Net::SSH::Perl->new('192.168.1.102');
$ssh->login('user','password');
$ssh->cmd('ls -al /tmp/');

更多文档:http://search.cpan.org/~bnegrao/Net-SSH-Expect-1.09/lib/Net/SSH/Expect.pod

Net::SCP::Expect:
#将test.tar.gz文件复制到192.168.1.102服务器的/tmp目录下
my $scpe = Net::SCP::Expect->new;
$scpe->login('user',’password‘);
$scpe->scp("/tmp/test.tar.gz",'192.168.1.102:/tmp/');
更多文档:http://search.cpan.org/~turnstep/Net-SSH-Perl-1.34/lib/Net/SSH/Perl.pm

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读