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

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

1 ответ

Решение

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

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

И логин работает нормально плюс ошибка пропала!

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

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

set_include_path('/usr/share/php/phpseclib/');
include('Net/SSH2.php');
Другие вопросы по тегам