我正在尝试使用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。 - >我也登录失败,但我的登录确定我在网络服务器上尝试真正的终端工作正常。
问题是登录失败的原因,我的数据是否正确以及如何修复错误。
答案 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');