网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > PHP > PHP技术进阶 > 用SSH与PHP相连接 确保数据传输的安全性  

用SSH与PHP相连接 确保数据传输的安全性

2007-08-23  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  SSH可以通过将联机的封包加密的技术进行资料的传递; 使用SSH可以把传输的所有数据进行加密,即使有人截获到数据也无法得到有用的信息。同时数据经过压缩,大大地加快了传输的速度。总之,通过SSH的使用,可以确保资料传输比较安全并且传输效率较高。 网管下载dl.bitscn.com

  不过,并非所有人知道PHP可以与SSH连接的特性以及与执行远程命令的能力,不过这方面却非常有用。由于我们可以在很多不同的方面利用PHP,因此它有很多设置选项来控制其行为。一组庞大的可选参数能够保证您可以将 PHP 用于许多不同的目的,但这同时也意味着这些参数和服务端配置的组合会带来一些安全问题。笔者一直在PHP CLI应用程序中使用SSH,笔者是从cronjobs中使用它的,不过一开始并非十分简单,可以说颇费周折。关于安全使用Shell2 函数的手册也不是十分实用,笔者进行了多次试验之后才有了今天这篇小文章,愿您读了之后能为您配置PHP节省一点儿时间。 网管联盟bitsCN_com

  在这篇文章中,笔者需要假设: 网管网www_bitscn_com

  你正在运行的操作系统是Debian / Ubuntu。如果你运行的不是Debian / Ubuntu,你可能需要用你的Linux发行版本提供的数据包管理器来替换本文对应内容。

网管下载dl.bitscn.com

  你运行的是PHP5.如果你运行的不是PHP5,可用PHP4代替之。 中国网管联盟bitsCN.com

  你对PHP和服务器管理有基本的了解。 网管bitscn_com

  你已经安装了PHP。 网管bitscn_com

  先决条件 网管联盟bitsCN_com

  安装程序包 网管u家u.bitscn@com

  首先,让我们安装下面的程序包:

网管网www_bitscn_com

  

sudo aptitude update
  sudo aptitude install php5-dev php5-cli php-pear buid-essential \
  openssl-dev zlib1g-dev 网管下载dl.bitscn.com

网管网www_bitscn_com

中国网管论坛bbs.bitsCN.com

  安装完成进入下一步。

中国网管联盟bitsCN.com

  编译libssh2 网管联盟bitsCN@com

  在从sourceforge网站下载了Libssh2之后,我们需要编译它,不过不要担心,你只需要按照如下的方法操作:

网管bitscn_com

  

cd /usr/src
  wget surfnet.dl.sourceforge.net/sourceforge/libssh2/libssh2-0.14.tar.gz
  tar -zxvf libssh2-0.14.tar.gz
  cd libssh2-0.14/
  ./configure
  make all install

中国网管论坛bbs.bitsCN.com

网管论坛bbs_bitsCN_com

网管u家u.bitscn@com

  如果你想检查是否有了一个新版本,可以查看SF.NET.不过,0.14这个版本就足够了。 中国网管联盟bitsCN.com

  安装

中国网管论坛bbs.bitsCN.com

  安装ssh2.so

网管网www_bitscn_com

  下一步,我们需要将libssh和 PHPr链接起来。有一个PECL模块可以完成这个功能。我们可以使用PEAR安装它。

中国网管联盟bitsCN.com

  pear install -f ssh2 中国网管联盟bitsCN.com

  -f参数确保SSH2被安装,即使并没有一个稳定的选择对象。你还可以使用如下的包名称:ssh2-beta来强行运行。

网管网www.bitscn.com

  现在你需要确保我们这个新的SSH2.SO模块被PHP加载。编辑你的php.ini文件(对于CLI实用程序:/etc/php5/cli/php.ini,对于Apache实用程序:/etc/php5/apache2/php.ini) 网管联盟bitsCN_com

  extension=ssh2.so

网管下载dl.bitscn.com

  这应该放在“Dynamic Extensions”的下面,大约在第515行左右。

中国网管论坛bbs.bitsCN.com

  PHP支持SSH编写代码 中国网管论坛bbs.bitsCN.com

  你刚刚在PHP中启用了SSH2。那么现在应该如何利用它呢?有两个选择。SSH支持:

中国网管联盟bitsCN.com

  1.执行方法:

网管论坛bbs_bitsCN_com

  这告诉你的服务器的操作系统来执行什么东西,并且通过管道传回到你的脚本。

网管u家u.bitscn@com

  2.外壳方法: 网管论坛bbs_bitsCN_com

  这种方法在操作系统中打开一个实际的外壳,这正像通过终端应用程序登录时所操作的那样。有一些路由器并没有一个完全的POSIX一致性实施过程,而是在你登录时立即运行其自身的应用程序。这时你就需要这种方法。 网管下载dl.bitscn.com

网管网www.bitscn.com


TAGs   安全性   确保   连接   可以   //   echo   一个   PHP   if   to   需要      
 上一篇:PHP5手动最简安装方法   下一篇:Apache+PHP+MySQL建立数据库驱动的动态网站
用SSH与PHP相连接 确保数据传输的安全性 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: