![30118af09599167997dbba2637f29e53.png](https://i-blog.csdnimg.cn/blog_migrate/a8cfdefd874cb64b2cc292b89d22c605.jpeg)
php中文网最新课程
每日17点准时技术干货分享
![55b69cdccaf0ad4711cfe9ebf33426af.png](https://i-blog.csdnimg.cn/blog_migrate/ec31705042a8e02a0a63008436429e30.jpeg)
安装
下载包
$ wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz$ wget http://pecl.php.net/get/ssh2-0.12.tgz
先安装 libssh2 再安装 SSH2
$ tar -zxvf libssh2-1.4.2.tar.gz$ cd libssh2-1.4.2$ ./configure --prefix=/usr/local/libssh2$ make && make install
编译安装ssh2
$ tar -zxvf ssh2-0.12.tgz$ cd ssh2-0.12$ /usr/local/zend/bin/phpize$ ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 --with-php-config=/usr/local/zend/bin/php-config$ make && make install
修改php.ini 加入
extension=ssh2.so
重启PHP
调试
用户名密码方式登录
$user="root";//远程用户名$pass="******";//远程密码$connection=ssh2_connect('10.10.10.10',22);ssh2_auth_password($connection,$user,$pass);
用sshkey方式登录
$connection=ssh2_connect('10.10.10.10',22);if(ssh2_auth_pubkey_file($connection, 'root', '/home/id_rsa.pub', '/home/id_rsa', 'secret')){ echo "Public Key Authentication Successful\n";} else { die('Public Key Authentication Failed');}
执行命令获取返回值
$cmd="ps aux";//命令$ret=ssh2_exec($connection,$cmd);stream_set_blocking($ret, true);echo (stream_get_contents($ret));
-END-
▼