code, html, digital-1076536.jpg

宝塔面板,安装最新版ssh2

宝塔面板内置的PHP扩展可以直接安装ssh2,但是版本比较老,是1.4的,连接最新的系统,会提示:SSH connection(-5): Unable to exchange encryption keys

为了解决这个问题,我们只能自己手动安装,首先卸载宝塔里的ssh2扩展,

然后下载两个安装包:

$ wget http://www.libssh2.org/download/libssh2-1.10.0.tar.gz
$ wget http://pecl.php.net/get/ssh2-1.3.1.tgz

先安装 libssh2

$ tar -zxvf libssh2-1.4.2.tar.gz
$ cd libssh2-1.4.2
$ ./configure --prefix=/usr/local/libssh2
$ make && make install

会将libssh2安装到/usr/local/libssh2

再安装ssh2

$ tar -zxvf ssh2-0.12.tgz
$ cd ssh2-0.12
$ /www/server/php/73/bin/phpize
$ ./configure --prefix=/usr/local/ssh2 --with-ssh2=/usr/local/libssh2 --with-php-config=/www/server/php/73/bin/php-config
$ make && make install

注意这里的 phpize 和 /www/server/php/73/bin/php-config 需要根据你的实际情况进行调整,可能PHP版本不同,也可能路径不同,我这里是宝塔+php7.3

然后将组件加入 php.ini

extension=ssh2.so

重置php,查看phpinfo();

extension version1.3.1
libssh2 version1.10.0
bannerSSH-2.0-libssh2_1.10.0

完成!