安装依赖
sudo yum install libssh2 libssh2-devel -y
安装ssh2
sudo pecl install ssh2
直接pecl安装会报错
源码安装
git clone https://git.php.net/repository/pecl/networking/ssh2.gitcd ssh2phpize./configuremakesudo make install# ls /usr/lib64/php/modules/ssh2.so# sudo vi /etc/php.ini# 添加[ssh2]extension=ssh2.so# 查看时候成功php -m | grep ssh2
使用示例
<?php// 密码认证$conn = ssh2_connect('remote-host', 22);ssh2_auth_password($conn, 'username', 'password');// 公钥认证$conn = ssh2_connect('remote-host', 22, ['hostkey'=>'ssh-rsa']);ssh2_auth_pubkey_file($conn, 'username','~/.ssh/id_rsa.pub','~/.ssh/id_rsa','secret');$cmd = 'hostname;whoami';$ret = ssh2_exec($conn, $cmd);stream_set_blocking($ret, true);echo stream_get_contents($ret);
