phpseclib SSH2 write не выполняет длинную команду
Я пытаюсь выполнить команду 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()
2 ответа
Исходя из исходного кода библиотеки https://github.com/phpseclib/phpseclib/blob/master/phpseclib/Net/SSH2.php мы видим, что время ожидания встроено в библиотеку, поэтому вы не нужно устанавливать тайм-аут.
Если это не сработает, вы можете открыть проблему на github, указав свою команду. Если библиотека поддерживается, вы получите исправление или ответ от разработчиков библиотеки.