Однажды мне понадобилось сделать скрипт, с помощью которого можно снимать блокировку на серверном фаерволе. Для реализации данной задачи, необходим был скрипт, который сможет выполнить подключение к серверу по SSH и выполнить на нем нужную команду, после чего, отобразит мне результат.
Для решения данной задачи я решил воспользоваться стандартной функцией php (ssh2_connect).
В конце концов, получился скрипт приведенный ниже.
Код скрипта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php $ssh_host = ""; //адрес сервера, где будем выполнять команду $ssh_port = ""; //порт для подключения по ssh, обычно, он 22 $ssh_login = ""; //логин пользователя $ssh_pass = ""; //пароль $ssh_command = ""; //команда, которую необходимо выполнить и результат которой нужно получить if($ssh = ssh2_connect($ssh_host, $ssh_port)) { if(ssh2_auth_password($ssh, $ssh_login, $ssh_pass)) { $stream = ssh2_exec($ssh, $ssh_command); stream_set_blocking($stream, true); $data = ''; while($buffer = fread($stream, 4096)) { $data .= $buffer; } fclose($stream); echo $data; //Выводим результат выполнения команды на сервере } } ?> |
Оставить комментарий