通过 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]');
我正在编写一个 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]');