基于LNMP环境的ssh2扩展
openssl: 加密算法集合,C语言实现 libssh2:ssh2协议库库,C语言实现 PECL/ssh2: libssh2的php扩展,允许php程序调用libssh2中的函数 依赖关系:PECL/ssh2 –> libssh2 –> openssl
什么是php的ssh2扩展
Php ssh2扩(以下简称PECL/ssh2),允许在php程序中远程执行系统命令和文件传输,不需要在被监控的机器上单独开发和部署类似agnet的"木马"程序,大大降低了运维成本。
Php ssh2扩展需要的依赖库:
openssl: 加密算法集合,C语言实现
libssh2:ssh2协议库库,C语言实现
PECL/ssh2: libssh2的php扩展,允许php程序调用libssh2中的函数
依赖关系:PECL/ssh2 –> libssh2 –> openssl
基于LNMP环境安装:
LNMP环境一键安装:wget http://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz wget https://www.libssh2.org/download/libssh2-1.5.0.tar.gz wget http://pecl.php.net/get/ssh2-0.12.tgz tar axf libssh2-1.5..tar.gz tar axf ssh2-0.12.tgz cd libssh2-1.5. ./configure --prefix=/usr/local/libssh2 make && make install cd ssh2-0.12 phpize ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 --with-php-config=/usr/local/php/bin/php-config make echo "extension=ssh2.so" >>/usr/local/php/etc/php.ini cp /root/ssh2-0.12/modules/ssh2.so /usr/lib/modules/ cp /root/ssh2-0.12/modules/ssh2.so /usr/local/php/lib/php/extensions/no-debug-non-zts-/ php -i|grep ssh2
最后,我们再通过一个简单的PHP程序来试用SSH2,该程序首先连接远程服务器,然后执行相关操作,最后读取操作执行的返回结果,具体例子代码如下。
vim index.php
<?php
$connection = ssh2_connect( '192.168.100.201', );
if ( ssh2_auth_password( $connection, 'root', 'redhat' ) ) {
echo '登陆成功!<br>';
}
else{
echo '登陆失败<br>';
return;
}
$stream = ssh2_exec($connection, "systemctl stop httpd");
stream_set_blocking( $stream, true );
echo "Output: " . stream_get_contents($stream);
?>
基于LNMP环境的ssh2扩展的更多相关文章
- ubuntu通过apt-get方式搭建lnmp环境以及php扩展安装
v 一直是在用的lnmp的集成安装包搭建lnmp环境,因为工作需要需要安装ldap扩展,在网上怎么都找不到源码安装包,只能卸载掉原来的lnmp环境,用ubuntu的php5-ldap扩展, 在安装中遇 ...
- 基于lnmp环境安装Discuz
安装环境 Linux:CentOS Linux release 7.5.1804 (Core) nginx:1.14.2 php-fpm:5.4.16 mariadb-server:5.5.60 基本 ...
- 基于LNMP环境的Zabbix监控安装
一.准备LNMP环境 1.使用putty或类似的SSH工具登陆VPS或服务器: 登陆后运行:screen -S lnmp 如果提示screen: command not found 命令不存在可以执行 ...
- jitamin基于lnmp环境搭建
从github上面下载源代码 cd /Data/apps/nginx/html git clone https://github.com/jitamin/jitamin.git 修改配置文件 cd ...
- 基于LNMP的Zabbbix之Zabbix Server源码详细安装,但不给图
Zabbix Server安装 看到那里有错或者有什么问题的话,求指点 邮箱:losbyday@163.com 上一篇PHP源码安装参见基于LNMP的Zabbbix之PHP源码安装:https://i ...
- docker中基于centos镜像部署lnmp环境 php7.3 mysql8.0 最新版
Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上 ...
- 基于Ubuntu的LNMP环境搭建
装备的工具 Ubuntu16.04 , Xshell 使用Xshell链接到Ubuntu 使用xshell链接Ubuntu不是必须的,只是为了操作的方便,同时默认是你的Ubuntu已经安装好了 在Ub ...
- lnmp环境里安装mssql及mssql的php扩展
小活中用到mssql,于是在自己lnmp环境中安装各mssql数据库 步骤如下: 源码编译安装 (1)下载freetds-stable-0.91源码:http://download.csdn.net/ ...
- LNMP环境+ 前后端项目部署+redis+redis扩展
LNMP 环境 (参照https://lnmp.org/install.html) wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz & ...
随机推荐
- VCL
vcl常用配置 不缓存摸一个资源 在vcl_recv中 if (req.url ~ "private") { return (pass); } 动静分离 先定一个多个backend ...
- AJAX重点知识的心得体会
下面就为大家带来一篇 AJAX重点知识的心得体会.学习还是有点帮助的,给大家做个参考吧. AJAX是什么? 是Asynchronous Javascript And XML的首字母的缩写, 它不是一门 ...
- Log4.Net日志记录解析
http://www.cnblogs.com/neekerss/archive/2011/01/04/1925171.html
- asp.net core 2.1 生成swagger文档
新建asp.netcore2.1 api项目 “WebApplication1” 在nuget管理器中添加对Swashbuckle.AspNetCore 3.0.0.Microsoft.AspNetC ...
- linq 两个字段排序
在linq中排序方法有: OrderBy() --对某列升序排序 ThenBy() --某列升序后对另一列后续升序排序 OrderByDescending() --对某列降序排序 ThenBy ...
- UITableView分隔线
问题1: 在ios中使用UITableView时,当行数较少是,可能一屏幕能显示完全所有行,这时候会出现下面的问题,显示多余的分隔线 图如下: 解决方案: //解决方案1 //添加如下代码 -(CGF ...
- vue-devtools插件安装
1.git clone https://github.com/vuejs/vue-devtools.git 2.此时表示vue-devtools包下载完成,进入到对应的目录下cd vue-devtoo ...
- mui打包vue项目
1,新建app项目,打包vue,修改config/index.js的输出路径 2,把build打包后的dist目录下的文件拷到app目录下 3.修改app下面的index文件,改变压缩格式,修改“/s ...
- fd_set实现原理
fd_set是一个结构 /* The fd_set member is required to be an array of longs. */ typedef long int __fd_mask; ...
- URL地址中中文乱码详解(javascript中encodeURI和decodeURI方法、java.net.URLDecoder.encode、java.net.URLDecoder.decode)
引言: 在Restful类的服务设计中,经常会碰到需要在URL地址中使用中文作为的参数的情况,这种情况下,一般都需要正确的设置和编码中文字符信息.乱码问题就此产生了,该如何解决呢?且听本文详细道来. ...