Файл: ssh2.php
Строк: 24
<?php
/** Скрипт для перезагрузки/выключения сервера
 * а так же перезагрузки apache/mysql
 * Сервер Ubuntu
 * тестировался на Ubunutu 14.04 LAMP
 * Автор: Splash (http://masteram.us/id392)
 * как установить модуль php ssh2?вот так:
 * apt-get install libssh2-1-dev libssh2-php
 * после установки, перезагрузите сервер через ssh клиент
*/
/** если нужна "защита" паролем
if($_GET['password']!=='reboot'){
    header('Location: index.php');
    exit;
}
*/
$host = ""; // localhost или ip сервера
$port = "22"; // порт(:22 - по умолчания)
$user = ""; // пользователь
$password = ""; // пароль
if (!function_exists ("ssh2_connect")) die ("Модуль ssh2 не найден");
if(!($con = ssh2_connect($host, $port))){
    die  ("Ошибка подключенияn");
} else {
    // авторизуемся по имени пользователя и паролю
    if(!ssh2_auth_password($con, $user, $password)) {
        die  ("Ошибка подключенияn");
    }
}
switch($_GET['sd']){
default:
echo "<a href='?sd=reboot'>Перезагрузить сервер</a><br>";
echo "<a href='?sd=apache_reboot'>Перезагрузить Apache</a><br>";
echo "<a href='?sd=mysql_reboot'>Перезагрузить MySql</a><br>";
echo "<a style='color:red' href='?sd=poweroff'>ВЫКЛЮЧИТЬ СЕРВЕР</a><br>";
break;
case 'poweroff':
if(isset($_GET['go'])){
    $mysql = ssh2_exec($con, 'sudo poweroff');
    
    if(!$mysql){
        die("Произошла ошибка");
    }
    header('Location: ssh2.php');
    exit;
}
echo "Сервер будет полностью выключен!!!<br>
Вы уверены?<br>
<a class='l2' href='?sd=poweroff?go'>Да</a> <a class='l2' href='ssh2.php'>Нет</a>";
break;
case 'mysql_reboot':
if(isset($_GET['go'])){
    $mysql = ssh2_exec($con, 'sudo service mysql restart');
    
    if(!$mysql){
        die("Произошла ошибка");
    }
    header('Location: ssh2.php');
    exit;
}
echo "MySql будет полностью остановлен,а после запущен!!!<br>
Вы уверены?<br>
<a class='l2' href='?sd=mysql_reboot?go'>Да</a> <a class='l2' href='ssh2.php'>Нет</a>";
break;
case 'apache_reboot':
if(isset($_GET['go'])){
    $apache = ssh2_exec($con, 'sudo service apache2 restart');
    
    if(!$apache){
        die("Произошла ошибка");
    }
    header('Location: ssh2.php');
    exit;
}
echo "Apache будет полностью остановлен,а после запущен!!!<br>
Вы уверены?<br>
<a class='l2' href='?sd=apache_reboot?go'>Да</a> <a class='l2' href='ssh2.php'>Нет</a>";
break;
case 'reboot':
if(isset($_GET['go'])){
    $reboot = ssh2_exec($con, 'sudo reboot');
    
    if(!$reboot){
        die("Произошла ошибка");
    }
    header('Location: ssh2.php');
    exit;
}
echo "Сервер будет полностью остановлен,а после запущен!!!<br>
Вы уверены?<br>
<a class='l2' href='?sd=reboot?go'>Да</a> <a class='l2' href='ssh2.php'>Нет</a>";
break;
}
?>