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

原创 2017年09月03日 23:19:04

简介

使用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/

相关文章推荐

纯JAVA实现远程执行SSH2主机的SHELL命令

纯JAVA实现远程执行SSH2主机的SHELL命令 /** * 利用JSch包实现远程主机SHELL命令执行 * @param ip 主机IP * @param user 主...

JSch:纯JAVA实现远程执行SSH2主机的SHELL命令

上篇文章我编写了利用JSch实现SFTP的文件上传和下载 http://my.oschina.net/hetiangui/blog/137357,在本篇文章中,我将描述如何利用JSch实现执行远程SS...

php 使用ssh2 操作linux、mysql(模拟阿里云控制台)

通过 php 利用 ssh2扩展操作 linux、mysql    1、首先安装扩展    这里是centos中的php安装ssh2扩展,记得关闭selinux和firewalld y...

php ssh2实现远程上传、下载、执行命令

php远程copy以及执行命令 php远程copy文件以及在远程服务器中执行命令时,所用到的模块是ssh2,以后所有的操作都依据ssh2连接句柄完成。 1. SSH2模块的...

java 间断执行多条命令ssh连接,有缺陷

废话不说直接上代码: package com.guoru; import java.io.BufferedReader; import java.io.IOException; imp...

Windows下通过SSH使用SharpSSH远程登录主机执行命令传输文件

1. 什么是SSH SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。SSH是每一台Linux电脑的标准配置,但是在windows...

Linux 使用ssh远程登录及文件传输命令

转自:http://os.51cto.com/art/201003/187301.htm 1. 远程登录server ssh username@server, 然后输入登录远程server的密码 ...

ssh远程登录命令

linux下使用ssh登陆其他linux服务器   #ssh -l root -p 23100 192.168.101.211 其中-l指用什么账号来登陆,-p是对方服务器的ssh端...

Linux命令中ssh远程登录

原文地址:http://www.cnblogs.com/binyue/p/4666701.html 1、查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号。使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ssh2扩展执行远程登录命令以及执行多个命令
举报原因:
原因补充:

(最多只允许输入30个字)