Выполнять команды на удаленном компьютере через PHP

Чтобы дать представление о моей среде:

У меня 3 машины A, B & C

A = веб-сервер, работающий на веб-сайте php, который в основном выступает в качестве интерфейса для B & C

B = Linux Ubuntu, у меня есть root-доступ, SSH и все необходимое для работы на машине через SSH-клиент (у меня есть файл закрытого ключа .ppk для этого сервера)

C = сервер базы данных MySql, работающий на Linux

Я могу успешно выполнять запросы от A (php) на C (Mysql) и возвращать результаты. Но теперь я пытаюсь выполнить команды linux на B от A.

Например.

У меня есть сценарий, который работает на B и хотел бы выполнить команду из A (php), чтобы показать статус скрипта.

В командной строке сделать это легко – ./SomeScript status

Но я хочу показать статус этого скрипта на веб-сайте im hosting на сервере A.

Даже просто проверьте время работы сервера B на сервере A.

Это в любом случае возможно. У меня есть googled навсегда, как кажется, но я не получаю нигде, Im не слишком поэтапно, если соединение безопасно или нет, поскольку это закрытая сеть без внешнего доступа к этой сети.

Любые рекомендации будут высоко оценены.

благодаря

Выполнить SSH-команды через PHP на сервере A на сервер B.

Вот как запустить команды ssh с командной строкой в ​​Linux: http://www.youtube.com/watch?NR=1&feature=fvwp&v=YLqqdQZHzsU

Для запуска команд в Linux с помощью PHP используйте команду exec () .

Надеюсь, это заставит вас начать искать в правильном направлении.

Посмотрите на эти два сообщения для автоматизации запроса пароля

Вот краткий пример с нерабочим кодом, который заставит вас думать:

 <?php $server = "serverB.example.org"; //ip address will work too ie 192.168.254.254 just make sure this is your public ip address not private as is the example //specify your username $username = "root"; //select port to use for SSH $port = "22"; //command that will be run on server B $command = "uptime"; //form full command with ssh and command, you will need to use links above for auto authentication help $cmd_string = "ssh -p ".$port." ".$username."@".$server." ".$command; //this will run the above command on server A (localhost of the php file) exec($cmd_string, $output); //return the output to the browser //This will output the uptime for server B on page on server A echo '<pre>'; print_r($output); echo '</pre>'; ?> 

Рекомендуемый поток – запустить команду на сервере A на SSH на сервер B