Несколько команд по SSH

Приветствую.
Есть скрипт, который подключается к оборудованию (маршрутизатор Cisco) и отправляет на него некоторые команды по SSH. Количество команд обычно несколько десятков, может быть сотен.
Сделал так:

Код (Text):
  1.  
  2.     $ssh = ssh2_connect(‘1.2.3.4’, 22);
  3.     ssh2_auth_password($ssh, ‘user’, ‘password’);
  4.     foreach ($cmds as $cmd)
  5.     {
  6.         print $cmd;
  7.         $tmp = ssh2_exec($ssh, $cmd);
  8.         stream_set_blocking($tmp, true);
  9.         ssh2_fetch_stream($tmp, SSH2_STREAM_STDIO);
  10.         if ($tmp === false) {
  11.             print » !failed\n»;
  12.         }
  13.         print «\n»;
  14.     };
  15.     ssh2_disconnect($ssh);

Но с таким кодом выполняется только первая команда, для остальных выдается ошибка «ssh2_exec(): Unable to request a channel from remote host».
Если ssh-подключение засунуть внутрь цикла, то на второй и последующих командах выдается ошибка «Failure ‘transport read’ (-43)», даже если делать паузу в несколько секунд.
Не подскажите, как несколько команд запускать правильно?

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *