通过 ssh 和 exec 命令在 php 代码中进入特权执行模式

enter priviledge executive mode in php code via ssh and exec commands

我正在编写一个 php 通过 ssh 连接到 cisco 路由器的代码。 我在获取接口信息时遇到问题(返回 null)。

这是我写的代码:

$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 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]');