phpseclib SSH2写未执行长命令

时间:2019-03-11 08:47:57

标签: php ssh phpseclib libssh2 ssh2

我正在尝试对设备(防火墙)执行SSH命令。长度短时执行命令。当长度大约为1000个字符时,则不执行命令。

当我通过腻子执行命令时,它也正常工作。

在阅读了一些解决方案后,我尝试将超时设置为5秒。仍然没有帮助。

在设备日志中,我可以看到SSH登录和注销。但是没有活动。

我正在使用phpseclib ssh 2.0版

$ssh = new SSH2(ip_address);
$ssh->login($user, $password);
$ssh->write($command);
$ssh->setTimeout(5);
$ssh->read()

2 个答案:

答案 0 :(得分:0)

判断库https://github.com/phpseclib/phpseclib/blob/master/phpseclib/Net/SSH2.php#L4244的源代码 我们可以看到,等待时间是内置在库中的,因此您不必设置超时。

如果这不起作用,则可以在github上打开一个问题,并提供命令。 如果支持该库,则可以从库开发人员那里获得修复或答案。

答案 1 :(得分:0)

问题最终出现在服务器和设备之间的路径中。