• 基于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环境安装:

     1 LNMP环境一键安装:wget http://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz
     2 
     3 wget https://www.libssh2.org/download/libssh2-1.5.0.tar.gz
     4 
     5 wget http://pecl.php.net/get/ssh2-0.12.tgz
     6 
     7 tar axf libssh2-1.5.0.tar.gz
     8 
     9 tar axf ssh2-0.12.tgz
    10 
    11 cd libssh2-1.5.0
    12 
    13 ./configure --prefix=/usr/local/libssh2
    14 
    15 make && make install
    16 
    17 cd ssh2-0.12
    18 
    19 phpize
    20 
    21 ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 --with-php-config=/usr/local/php/bin/php-config
    22 
    23 make
    24 
    25 echo "extension=ssh2.so" >>/usr/local/php/etc/php.ini
    26 
    27 cp /root/ssh2-0.12/modules/ssh2.so /usr/lib/modules/
    28 
    29 cp /root/ssh2-0.12/modules/ssh2.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
    30 
    31 php -i|grep ssh2
    View Code

     

    最后,我们再通过一个简单的PHP程序来试用SSH2,该程序首先连接远程服务器,然后执行相关操作,最后读取操作执行的返回结果,具体例子代码如下。

     1 vim index.php
     2 
     3 <?php
     4 
     5 $connection = ssh2_connect( '192.168.100.201', 22 );
     6 
     7 if ( ssh2_auth_password( $connection, 'root', 'redhat' ) ) {
     8 
     9 echo '登陆成功!<br>';
    10 
    11 }
    12 
    13 else{
    14 
    15 echo '登陆失败<br>';
    16 
    17 return;
    18 
    19 }
    20 
    21 $stream = ssh2_exec($connection, "systemctl stop httpd");
    22 
    23 stream_set_blocking( $stream, true );
    24 
    25 echo "Output: " . stream_get_contents($stream);
    26 
    27 ?>
    View Code
    ******************************我也想难过的时候到海边走走,可是我的城市没有海。******************************
  • 相关阅读:
    犹太人高成就的秘诀
    EXSI宿主机更换硬盘后虚机启动有问题
    Centos7 系统启动docker报错 inotify add watch failed
    Gluster的搭建和使用
    关于HA(2.102 -2.103 服务器排障)
    Fabric的简介
    关于CPU的一些操作(CPU设置超频)
    docker的安装和技巧
    linux 下查看wwn号
    HP 3par多路径安装方法
  • 原文地址:https://www.cnblogs.com/Mr-Ding/p/9189108.html
Copyright © 2020-2023  润新知