Я хотел бы выполнять команды на удаленном сервере через s sh, и я использую phpseclib. Если я запускаю команду, все выходные данные находятся в одной строке (потому что это строка).
У меня будет тот же вывод, что и в локальной оболочке
Current var_dump ():
string(291) "Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-10 10:08 CEST Nmap scan report for dns.google (8.8.8.8) Host is up (0.0037s latency). Not shown: 998 filtered ports PORT STATE SERVICE 53/tcp open domain 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 4.59 seconds "
Токовый выход:
Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-10 10:14 CEST Nmap scan report for dns.google (8.8.8.8) Host is up (0.0036s latency). Not shown: 998 filtered ports PORT STATE SERVICE 53/tcp open domain 443/tcp open https Nmap done: 1 IP address (1 host up) scanned in 4.50 seconds
Ожидаемый выход:
Starting Nmap 7.80 ( https://nmap.org ) at 2020-04-10 10:14 CEST
Nmap scan report for dns.google (8.8.8.8)
Host is up (0.0037s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
53/tcp open domain
443/tcp open https
Текущий код:
<?php
include 'vendor/autoload.php';
$ssh = new \phpseclib3\Net\SSH2('xxx.xxx.xxx.xxx');
if (!$ssh->login('root', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('nmap 8.8.8.8');
?>