<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('10.106.240.212');
$ssh->login('Administrator', 'Nbv12345') or die("Login failed");
echo $ssh->exec('powershell.exe');
echo connected;
?>
Я пытаюсь выполнить powershell.exe, используя PHP SSH2. Сценарий тайм-ауты через 30 секунд всегда.
Я могу SSH через обычный клиент SSH
Хотя я могу выполнять простые команды, такие как
dir
Как я могу войти в powershell и выполнить команду? Заранее спасибо!
Вам нужно будет либо включить PTY, либо использовать интерактивную оболочку. например.
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('10.106.240.212');
$ssh->login('Administrator', 'Nbv12345') or die("Login failed");
$ssh->write("powershell.exe\n");
$ssh->setTimeout(2);
echo $ssh->read();
//$ssh->write("dir\n");
//$ssh->read('[prompt]');
?>
…или же:
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('10.106.240.212');
$ssh->login('Administrator', 'Nbv12345') or die("Login failed");
$ssh->enablePTY()
$ssh->exec("powershell.exe\n");
$ssh->setTimeout(2);
echo $ssh->read();
//$ssh->write("command\n");
//$ssh->read('[prompt]');
?>
Других решений пока нет …