PHP安裝ssh2擴充套件

煮茶發表於2019-02-16

安裝

下載包

$ 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
";
} else {    
    die(`Public Key Authentication Failed`);
}
執行命令獲取返回值
$cmd="ps aux";//命令
$ret=ssh2_exec($connection,$cmd);
stream_set_blocking($ret, true);
echo (stream_get_contents($ret));

相關文章