PHP Net_SSH2无法连接

时间:2017-03-31 07:45:42

标签: php net-ssh ssh2-exec

我正在尝试使用Net_SSH2类在ssh服务器中登录,我收到错误:

  

注意 /var/www/html/includes/classes/Net/SSH2.php 1389号中没有与客户端加密算法兼容的服务器

第1389行的代码是:

$decrypt = $this->_array_intersect_first($encryption_algorithms, $this->encryption_algorithms_server_to_client);
        $decryptKeyLength = $this->_encryption_algorithm_to_key_size($decrypt);
        if ($decryptKeyLength === null) {
            user_error('No compatible server to client encryption algorithms found');
            return $this->_disconnect(NET_SSH2_DISCONNECT_KEY_EXCHANGE_FAILED);
        }

我的流程PHP文件:

$ssh = new Net_SSH2('192.168.111.159');
if (!$ssh->login('root', 'xxxxxxx')) {
    exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');

PS。 - >我也登录失败,但我的登录确定我在网络服务器上尝试真正的终端工作正常。

问题是登录失败的原因,我的数据是否正确以及如何修复错误。

2 个答案:

答案 0 :(得分:0)

我添加了SSH2.PHP

set_include_path('includes/classes/Net/'); 

登录工作正常,错误消失了!

答案 1 :(得分:0)

有人可以添加php7,最终在Ubuntu 16.04上可以解决。

在我的代码中添加两行

set_include_path('/usr/share/php/phpseclib/');
include('Net/SSH2.php');