Как проще выполнить sh на удаленном сервере через php? PHP скрипт принимает только IP и PASS для подключение через ssh.
Так же скрипт генерирует sh файл.
Как подключиться по ssh, залить на удаленный сервер файл .sh и его выполнить?
Ответ от скрипта должен вернуться в php скрипт.
Так же возможен ли вариант для запуска многострочного скрипта через ssh без закачки файла?
т.е. построчно читать файл не вариант я думаю.

21 Авг 2019 в 06:30
187 +1
0
Ответы
1

Для выполнения команды на удаленном сервере через SSH и получения результата можно использовать PHP библиотеку phpseclib. Ниже пример простого скрипта, который позволит вам подключиться к серверу по SSH, выполнить команду и получить результат:

<?php
require('Net/SSH2.php');
$ip = 'IP адрес удаленного сервера';
$pass = 'Пароль для подключения по SSH';
$ssh = new Net_SSH2($ip);
if (!$ssh->login('root', $pass)) {
exit('Невозможно подключиться по SSH');
}
$command = 'ваша SSH команда';
$result = $ssh->exec($command);
echo $result;
?>

Если необходимо выполнить многострочный скрипт, можно передать его в виде одной строки и запустить через SSH, например:

$script = "строка 1 && \\
строка 2 && \\
строка 3";
$result = $ssh->exec($script);
echo $result;

Таким образом, вы сможете подключиться к удаленному серверу по SSH, выполнить команду или скрипт и вернуть результат в PHP скрипт.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир