Выполнить команду на удаленном сервере с PHP

0

У меня есть веб-страница, написанная на PHP, и я пытаюсь выполнить массив команд на удаленном сервере. При выполнении этих команд мне нужно запустить их на другой машине, чтобы я мог проходить через брандмауэр.

Общая идея того, что я могу найти, - выполнить вывод этого на удаленном сервере

foreach ($filter as $filtered) {
    echo './script_to_execute_in_a_remote_server '.$filtered
}

Так, например, я буду выполнять следующие действия на удаленном сервере

./script_to_execute_in_a_remote_server.sh attribute1 attribute2

И я подключаюсь к промежуточному серверу с помощью SSH, подключаясь к брандмауэру

 ssh root@firewall;

Оттуда я подключаюсь к удаленному серверу с помощью SSH (на этот раз из брандмауэра)

ssh root@server1;

И как только я наконец подключился к удаленному серверу через SSH, это когда я выполняю команды, которые я распечатывал раньше

./script_to_execute_in_a_remote_server.sh attribute1 attribute2

Каким образом я могу это сделать?

  • 0
    php.net/manual/en/function.ssh2-exec.php
  • 0
    Ваша текущая версия не работает? Или вы заинтересованы в его оптимизации?
Показать ещё 3 комментария
Теги:
server
exec
remote-server

1 ответ

0

После того, как вы подключились к брандмауэру через php ssh2, вы можете передать обычную команду cli ssh через сеанс PHP ssh2.

ssh root@server1 ./script_to_execute_in_a_remote_server.sh attribute1 attribute2

Отправка этой команды будет сообщать брандмауэру о подключении к серверу1, выполнить эту команду, а затем отключиться после ее завершения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню