2016-07-15 75 views
2

我正在寫一個通過ssh連接到cisco路由器的php代碼。 我在獲取接口信息時遇到了問題(返回null)。通過ssh和exec命令在php代碼中輸入priviledge執行模式

這裏是我寫的代碼:

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

美元(show命令)被返回null。

有什麼想法?

回答

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

謝謝你,它的工作原理! – aline