Создать оболочку SSH с помощью PHP и выполнить команду powershell.exe?

<?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 и выполнить команду? Заранее спасибо!

0

Решение

Вам нужно будет либо включить 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]');
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]