通过ssh和exec命令在php代码中输入priviledge执行模式

时间:2016-07-15 11:04:53

标签: php ssh cisco phpseclib

我正在编写一个通过ssh连接到cisco路由器的php代码。 获取接口信息时,我遇到了一个问题(返回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命令)返回null。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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