войти в привилегированный режим исполнения в коде php с помощью команд ssh и exec

Я пишу код PHP, который подключается к маршрутизатору Cisco через SSH.
Я столкнулся с проблемой (возвращает ноль) при получении информации об интерфейсах.

Вот код, который я написал:

$ssh = new Net_SSH2($ip);
if (!$ssh->login($user, $pass)) {
exit('Login Failed');
}

$ssh->exec('enable');
$ssh->read('Password:');
$ssh->write("password\n");
echo $ssh->read();
$a=$ssh->exec('show run | include interface');

$ a (команда show) возвращает ноль.

Любая идея?

2

Решение

Является show run | include interface должен бежать за enable? Является Password: должен быть подсказкой enable команда? Предполагая, что ответы на эти вопросы — да и да, тогда я думаю, что это больше похоже на то, что вы хотите сделать:

$ssh->read('[prompt]');
$ssh->write("enable\n");
$ssh->read('Password:');
$ssh->write("password\n");
echo $ssh->read('[prompt]');
$ssh->write("show run | include interface\n");
echo $ssh->read('[prompt]');
1

Другие решения

Других решений пока нет …