2015-02-13 5 views

ответ

2

Цитирование пример:

<?php 
include('Net/SSH2.php'); 

$ssh = new Net_SSH2('www.domain.tld'); 
if (!$ssh->login('username', 'password')) { 
    exit('Login Failed'); 
} 

echo $ssh->read('[email protected]:~$'); 
$ssh->write("sudo ls -la\n"); 
$output = $ssh->read('#[pP]assword[^:]*:|[email protected]:~\$#', NET_SSH2_READ_REGEX); 
echo $output; 
if (preg_match('#[pP]assword[^:]*:#', $output)) { 
    $ssh->write("password\n"); 
    echo $ssh->read('[email protected]:~$'); 
} 
?> 

[email protected]:~$ является заполнителем для приглашения. Вы изменили его на все, что было на вашем сервере?

Если вы используете SSH через PuTTY или OpenSSH или что-то еще, вы можете увидеть, что такое подсказка. Кроме того, вы можете сделать $ssh->setTimeout(2). В этот момент $ssh->read() вернется через две секунды с любым выходом, полученным с сервера SSH. Приглашение - независимо от того, что это такое - должно быть в этом выпуске.

+0

Вы считаете правильным, что требуется приглашение –

+0

, если вы считаете, что это ответ, пожалуйста, отметьте ответ :) –

Смежные вопросы