需要两个软件包:
ssh2-0.11.0.tgz 下载地址:http://pecl.php.net/package/ssh2
libssh2-0.18.tar.gz 下载地址:http://sourceforge.net/projects/libssh2/files/
先安装,libssh2-0.18.tar.gz
步骤简单:
tar zxvf libssh2-0.18.tar.gz
cd libssh2-0.18
./configure
make && make install
等待一会儿吧。
不出意外,应该就成功了。
接下来,安装ssh2-0.11.0.tgz
tar zxvf ssh2-0.11.0.tgz
cd ssh2-0.11.0
phpize
./configure --with-ssh2
make
完成之后,会在当前目录中的modules目录中生成你所需要的ssh2.so文件
下面配置,让apache认识它了。
这个复制到你的.so文件的地方就行了,不过这个地方要注意,不同版本,so文件存放的位置有点差别。
我的是默认路径:
/usr/lib/php5/extensions/
cp ssh2.so /usr/lib/php5/extensions/
还有个,就是添加配置文件,
/etc/php5/conf.d/目录中复制一个ssh2.ini文件
cp mysql.ini ssh2.ini
编辑ssh2.ini,将其中内容修改为:
extension=ssh2.so
好了,现在重新启动apapche
apache2ctl -k restart
用这个命令php -i|grep ssh2
不出意外,将看到相关信息
/etc/php5/conf.d/ssh2.ini,
Registered PHP Streams => php, file, data, http, ftp, https, ftps, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp, zip, compress.zlib
ssh2
libssh2 version => 0.18
banner => SSH-2.0-libssh2_0.18
PWD => /srv/www/vwokan/wokan2.0/ssh2-0.11.0
_SERVER["PWD"] => /srv/www/vwokan/wokan2.0/ssh2-0.11.0
呵呵,这个信息表示已经成功了。
下面接下来,就是用php去执行ssh2扩展命令了。
<?php
$connection = ssh2_connect("172.16.18.252",22);
if (ssh2_auth_password($connection,"root","123456")) {
echo "Authentication Successful! ";
} else {
die('Authentication Failed...');
}
?>
$connection = ssh2_connect("172.16.18.252",22);
if (ssh2_auth_password($connection,"root","123456")) {
echo "Authentication Successful! ";
} else {
die('Authentication Failed...');
}
?>
不出意外,你将看到“Authentication Successful”信息。
呵呵,我就出现了,意外,查询了一下。每次都是出现如下提示:
Authentication Failed...
用户名,密码,这些都没有错误啊。
最后,检查了一下,本机ssh的配置
vi /etc/ssh/sshd_config
发现在:
PasswordAuthentication no
呵呵,修改成:
PasswordAuthentication yes
保存,重新启动ssh
/etc/init.d/sshd restart
呵呵,居然通过了。
本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2010/0624/23757.php
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/3535/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表