0

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

当我通过 putty 执行命令时,它也可以正常工作。

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

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

我正在使用 phpseclib ssh 2.0 版

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

2 回答 2

0

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

于 2019-05-01T09:30:26.620 回答
0

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

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

于 2019-03-11T09:47:51.807 回答