Цитирование пример:
<?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. Приглашение - независимо от того, что это такое - должно быть в этом выпуске.
Вы считаете правильным, что требуется приглашение –
, если вы считаете, что это ответ, пожалуйста, отметьте ответ :) –