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

У меня есть веб-страница, написанная на 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 ssh2, вы можете передать обычную команду cli ssh через сеанс PHP ssh2.

ssh root@server1 ./script_to_execute_in_a_remote_server.sh attribute1 attribute2

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

0

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

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

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