PHP Net_SSH2 не может подключиться

Я пытаюсь использовать класс 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. -> я также получаю сообщение об ошибке входа в систему, но мой вход в систему был в порядке, я пытаюсь использовать настоящий терминал на веб-сервере, он работает нормально.

Вопрос в том, почему не удается войти в систему, но мои данные были правильными и как исправить ошибку.


person Robert Glavaš    schedule 31.03.2017    source источник


Ответы (2)


Добавляю поверх SSH2.PHP

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

И вход в систему работает нормально, плюс ошибка исчезла!

person Robert Glavaš    schedule 31.03.2017

кто-то может добавить для php7, в конечном итоге это разрешено на Ubuntu 16.04.

добавив две строки в мой код

set_include_path('/usr/share/php/phpseclib/');
include('Net/SSH2.php');
person M Ashraf    schedule 01.04.2020