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扩展的更多相关文章

  1. ubuntu通过apt-get方式搭建lnmp环境以及php扩展安装

    v 一直是在用的lnmp的集成安装包搭建lnmp环境,因为工作需要需要安装ldap扩展,在网上怎么都找不到源码安装包,只能卸载掉原来的lnmp环境,用ubuntu的php5-ldap扩展, 在安装中遇 ...

  2. 基于lnmp环境安装Discuz

    安装环境 Linux:CentOS Linux release 7.5.1804 (Core) nginx:1.14.2 php-fpm:5.4.16 mariadb-server:5.5.60 基本 ...

  3. 基于LNMP环境的Zabbix监控安装

    一.准备LNMP环境 1.使用putty或类似的SSH工具登陆VPS或服务器: 登陆后运行:screen -S lnmp 如果提示screen: command not found 命令不存在可以执行 ...

  4. jitamin基于lnmp环境搭建

    从github上面下载源代码 cd /Data/apps/nginx/html git clone https://github.com/jitamin/jitamin.git 修改配置文件 cd   ...

  5. 基于LNMP的Zabbbix之Zabbix Server源码详细安装,但不给图

    Zabbix Server安装 看到那里有错或者有什么问题的话,求指点 邮箱:losbyday@163.com 上一篇PHP源码安装参见基于LNMP的Zabbbix之PHP源码安装:https://i ...

  6. docker中基于centos镜像部署lnmp环境 php7.3 mysql8.0 最新版

    Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源. Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上 ...

  7. 基于Ubuntu的LNMP环境搭建

    装备的工具 Ubuntu16.04 , Xshell 使用Xshell链接到Ubuntu 使用xshell链接Ubuntu不是必须的,只是为了操作的方便,同时默认是你的Ubuntu已经安装好了 在Ub ...

  8. lnmp环境里安装mssql及mssql的php扩展

    小活中用到mssql,于是在自己lnmp环境中安装各mssql数据库 步骤如下: 源码编译安装 (1)下载freetds-stable-0.91源码:http://download.csdn.net/ ...

  9. LNMP环境+ 前后端项目部署+redis+redis扩展

    LNMP 环境    (参照https://lnmp.org/install.html) wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz & ...

随机推荐

  1. Smarty 限制foreach的循环次数

    <!--{foreach from=$news item=news name=foo}--> <!--{if $smarty.foreach.foo.index <7}--&g ...

  2. windows下自动更改IP的小工具(bat批处理文件)

    每次上线,都要先上灰度环境再上到正式环境.在上到灰度环境时,访问灰度环境通过自动获取IP和更改指定dns来实现.具体如何实现,大家可自行百度. 新建一个文本文档,将其后缀改为bat,打开该文件,拷贝一 ...

  3. HDU 5371——Hotaru's problem——————【manacher处理回文】

    Hotaru's problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  4. iOS UIWebView 和 WKWebView 的 cookie 获取,设置,删除

    Cookie简介说到Cookie,或许有些小伙伴会比较陌生,有些小伙伴会比较熟悉.如果项目中,所有页面都是纯原生来实现的话,一般Cookie这个东西或许我们永远也不会接触到.但是,这里还是要说一下Co ...

  5. 设计模式之工厂模式详细读后感TT!(五)

    一如既往:原文 工厂方法(factory method)模式的意义是定义一个创建产品对象的工厂接口, 将实际创建工作推迟到子类当中. 核心工厂的创建, 这样核心类成为一个抽象工厂角色, 仅仅复制工厂子 ...

  6. 从零开始的全栈工程师——js篇(作用域 this 原型笔试题练习)

    作用域 // 1. fn() function fn () { console.log(12) } var as = function () { console.log(45) } // 2. var ...

  7. Java Knowledge series 4

    JVM & Bytecode Has-a or Is-a relationship(inheritance or composition) 如果想利用新类内部一个现有类的特性,而不想使用它的接 ...

  8. (C# 基础) 静态字段,静态类,静态方法。

    静态字段被类的所有实例所共享,即此类的所有实例都访问同一内存地址. 所以该内存位置的值变更的话,这种变更对所有的实例都可见. class MyClass { ; ; public void SetVa ...

  9. 测试驱动开发(TDD)及测试框架Mocha.js入门学习

    组里马上要转变开发模式,由传统的开发模式(Developer开发,QA测试),转变为尝试TDD(Test-driven development,测试驱动开发)的开发模型.由此将不存在QA的角色,或者仅 ...

  10. Linux vi 常用指令总结

    本文根据笔者,日常常用的linux下的vi指令,进行说明 一.基本操作 1.vi 文件名 进入vi 的“命令行模式”,此模式无法编辑,只能查看 需要按下键盘的“i”键,进入“编辑模式”,才能进行文件的 ...