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

alibek23

Новичок
Приветствую.
Есть скрипт, который подключается к оборудованию (маршрутизатор Cisco) и отправляет на него некоторые команды по SSH. Количество команд обычно несколько десятков, может быть сотен.
Сделал так:
Код:
    $ssh = ssh2_connect('1.2.3.4', 22);
    ssh2_auth_password($ssh, 'user', 'password');
    foreach ($cmds as $cmd)
    {
        print $cmd;
        $tmp = ssh2_exec($ssh, $cmd);
        stream_set_blocking($tmp, true);
        ssh2_fetch_stream($tmp, SSH2_STREAM_STDIO);
        if ($tmp === false) {
            print " !failed\n";
        }
        print "\n";
    };
    ssh2_disconnect($ssh);
Но с таким кодом выполняется только первая команда, для остальных выдается ошибка "ssh2_exec(): Unable to request a channel from remote host".
Если ssh-подключение засунуть внутрь цикла, то на второй и последующих командах выдается ошибка "Failure 'transport read' (-43)", даже если делать паузу в несколько секунд.
Примеры из описания функции ssh2_exec (точнее из комментариев) я проверял, именно из них я и взял синхронный режим для потока, но не помогло.
Не подскажите, как несколько команд запускать правильно?
 
Сверху