ssh2扩展执行远程登录命令以及执行多个命令

简介

使用ssh2模块实现远程登录执行命令:

使用php ssh2模块可以在程序中远程执行命令,可以编写一些简单的脚本工具,实现集中管理

安装

1,安装libssh2库

从 http://www.libssh2.org/ 下载源代码安装即可。

2,安装ssh2模块

从 http://pecl.php.net/package/ssh2 下载源代码包,安装步骤:

/usr/local/php/bin/phpize

./configure --with-ssh2 && make

cp .libs/ssh2.so /data/php/lib/php/extensions/no-debug-non-zts-20060613/

修改 php.ini 增加 extension=ssh2.so

3,示例

$conn = ssh2_connect('192.168.1.2',22);

ssh2_auth_password($conn,usesrname,password);

$stream = ssh2_exec($conn, '/usr/local/bin/php -i');

stream_set_blocking($stream,true);

echo (stream_get_contents($stream));


$stream = ssh2_exec($conn,'ls');

stream_set_blocking($stream,true);

echo (stream_get_contents($stream));


ssh2的使用方式:

$connect=ssh2_connect("192.168.1.2",22);

ssh2_auth_password($connect,user,pass);

$stream=ssh2_exec($connect, "ls /home");

stream_set_blocking($stream, true);

$output = stream_get_contents($stream);

fclose($stream);

echo $output ;


4,ssh2执行多个命令

第一个命令:
$ stream = ssh2_exec($ connection,'config global') ; 

第二个命令:
$ stream = ssh2_exec($ connection,'get hardware cpu'); 

这样做:

 $ stream = ssh2_exec($ connection,'command1; command2'); 
可以考虑使用  ssh2_shell() 去解决
或者这样:
ssh2_exec(cd /tmp && tar -zvxf   XXXYYY.x86_64.tgz)
参考链接:
http://www.jackxiang.com/post/3790/
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值