use Net::OpenSSH;
my $host = "$ip";
my $user = 'root';
my $passphrase = 'uxxxxxD';
my $key = '/root/.ssh/id_rsa';
my $cmd="sh $script";
my %param = (
user => $user,
passphrase => $passphrase,
key_path => $key,
timeout => 100
);
my $ssh = Net::OpenSSH->new($host,%param);
my ($stdout,$stderr,$exit) = $ssh->capture2("$cmd");
my $exit = ($? >> 8);
print "\$exit is $exit\n";
sleep (10);
if($exit == 0){
print "publish success\n";
print $stdout;
open( F, ">>", "/home/scan/mojo/log/$app-$ip-$XDATE.log" );
print F ("ErrorCode:$exit\n");
print F ("ErrorMsg:$stderr\n");
print F ("$stdout\n");
close F;
$c->render(text => 'publish success')
} else {
print $ssh->error;
$stderr and print $stderr;
open( F, ">>", "/home/scan/mojo/log/$app-$ip-$XDATE.log" );
print F ("ErrorCode:$exit\n");
print F ("ErrorMsg:$stderr\n");
print F ("$stdout\n");
close F; $c->render(text => "ErrorCode:$exit;ErrorMsg:$stderr")
}

Net::OpenSSH 模块使用的更多相关文章

  1. Android Sshd使用

    1. 介绍 因为某些原因, 笔者需要在android上开发,  使用adb比较麻烦, 于是想使用sshd. 推荐的软件是openssh, 其他选择有dropbear, mosh.当然还有其他选择, 如 ...

  2. Ubuntu16.04开启root用户,并远程登录

    Ubuntu安装完成默认是普通权限的用户,root用户需要手动开启,并且还不含opne-ssh模块 1.给root用户设置密码 #  sudo passwd root 会提示输入unix的新密码,这就 ...

  3. Ubantu【第一篇】:Ubantu中openssh连接

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  4. Linux 之加密类型,CA,Openssl,Openssh

    TCP/IP:安全 A------->B 机密性:明文传输(ftp,http,smtp,telnet),被窃听 完整性:消息被篡改 身份验证:你访问的主机就是你真实要访问的那台,而不是钓鱼网站 ...

  5. iptables的recent模块

    看到文章中用recent模块控制对主机的访问. 配置方法如下: iptables -A INPUT -p icmp --icmp-type 8 -m length --length 78 -j LOG ...

  6. Windows系统下安装Python的SSH模块教程

    Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是 ...

  7. Net::SSH::Perl 模块

    <pre name="code" class="python">Net::SSH::Perl - Perl client Interface to ...

  8. Ansible7:Playbook常用模块【转】

    playbook的模块与在ansible命令行下使用的模块有一些不同.这主要是因为在playbook中会使用到一些facts变量和一些通过setup模块从远程主机上获取到的变量.有些模块没法在命令行下 ...

  9. ansible学习基础知识和模块(一)

    基础知识补充: 常用自动化运维工具 Ansible:使用python来开发的,无需设置Agentless(代理),一般管理几百台.与ssh的方式也不一样,ssh是基于c/s模式(客户端+服务器)来使用 ...

随机推荐

  1. 阻止系统自动睡眠的小软件,附C#制作过程

    原文 http://www.cnblogs.com/h46incon/p/SleepPreventer.html 因为有时下载东西的时候,不想让电脑自动深入睡眠,所以就开启了离开模式.这样不但不节能环 ...

  2. Json.Net系列教程 2.Net类型与JSON的映射关系

    原文 Json.Net系列教程 2.Net类型与JSON的映射关系 首先谢谢大家的支持和关注.本章主要介绍.Net类型与JSON是如何映射的.我们知道JSON中类型基本上有三种:值类型,数组和对象.而 ...

  3. zip文件压缩(转)

    zip文件结构            上面中的每一行都是一个条目,zip文件就是由一个或者多个条目组成.      条目在Java中对应ZipEntry类         创建zip压缩文件     ...

  4. live555学习经验链接二

    live555学习经验链接二:http://blog.csdn.net/nkmnkm/article/category/1066093/2

  5. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  6. DevExpress ASP.NET 使用经验谈(9)-Dev控件客户端事件 ClientSideEvents

    上一节,已经介绍了ASPxGridView的自定义列和基本事件 ,本节接着将介绍Dev控件的客户端事件模型. 在上节示例基础上,我们增加一行菜单,使用Dev的ASPxMenu来实现,如下图所示. 图一 ...

  7. SQL中distinct的用法(转)

    原文:http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出 ...

  8. java异常回顾

    String getMessage():返回此Throwable的详细消息字符串 void PrintStackTrace():将throw及其追踪输出至标准错误流 void printStackTr ...

  9. Java 取得当前日期之后N天的日期 zz

    链接地址:http://blog.sina.com.cn/s/blog_483486840100vrjn.html public static String afterNDay(int n){    ...

  10. BZOJ 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚( 线段树 )

    线段树.. -------------------------------------------------------------------------------------- #includ ...