Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/c658b64f3731cffbc1de67bbec0435d8 to your computer and use it in GitHub Desktop.
Save anonymous/c658b64f3731cffbc1de67bbec0435d8 to your computer and use it in GitHub Desktop.
Удаленное выключение сервера

Удаленное выключение сервера - Удаленное выключение сервера



У меня появилась задача по организации оперативного выключения удаленных серверов в один клик. Причем выключать сервера должны разнообразные пользователи, в том числе и без знаний и понимания принципов работы сервера. То есть они должны просто нажать кнопку, чтобы сервер автоматически завершил свою работу. Причем выключать по сети нужно как windows серверы, так и linux различных дистрибутивов — ubuntu, centos, freebsd. То есть решение должно быть простое и надежное. Начнем с самого сложного. На практике реализовать надежный способ выключения windows машин по сети для меня оказалось сложнее, чем linux. Методов и подходов к решению данной задачи много. Я пробовал разные варианты и остановился на одном, который мне показался самым надежным, он сработал без проблем во всех случаях во время тестирования. Обязательным условием удаленного выключения сервера является сетевой доступ к нему по rdp. Вы можете находится в локальной сети с ним, подключиться по vpn или пробросить rdp соединение редиректом со шлюза. Не важно, главное попасть в систему по rdp. Принцип работы удаленного отключения следующий: На компьютере или сервере создается пользователь, которому будет разрешено подключаться по rdp и завершать работу сервера. В автозагрузке этого пользователя будет скрипт для завершения работы. Пользователям, которые будут удаленно выключать сервер, дается специально подготовленный rdp клиент, который без всяких запросов будет подключаться нужным пользователем, у которого будет срабатывать скрипт на завершение работы. Все достаточно просто, но на каждом этапе я сталкивался с проблемами, которые требовали не тривиального решения. Но обо все по порядку. Итак, идем на север и создаем там простой bat файл следующего содержания:. Сохраняем файл и создаем пользователя, под которым будем выключать сервер. Не забудьте добавить этому пользователю разрешение подключаться по rdp. Если вы выключаете компьютер с десктопной системой, то прав обычного пользователя достаточно. Если же вам надо погасить Windows Server, то пользователя нужно либо сделать админа, либо дать ему права на разрешение выключение сервера через локальную политику безопасности. Вот тут я напоролся на первые неприятности. Я назвал свой скрипт shutdown. При вводе команды shutdown с параметрами в консоли все отлично работало, но скрипт не запускался. Оказывается, его нельзя называть таким именем. После того, как переименовал в shut. Какая-то нелепая загвоздка, но мне пришлось потратить немало времени, пока я разобрался, в чем тут дело. Теперь нам нужно настроить автоматический вход пользователя по rdp, чтобы выполнить удаленное завершение работы. Причем пользователь должен заходить на сервер без запроса имени и пароля. Штатными средствами rdp клиента windows это сделать невозможно. Даже если вы сохраните параметры, то при переносе настроек на другой компьютер нужно будет снова вводить пароль. Мне это не подходило. Я пробовал использовать старую портированную версию rdp 5. Это последняя версия, где пароль в зашифрованном виде можно было хранить в файле настроек. Но при переносе этого файла на другой компьютер, все равно выскакивало окно с вводом пароля. Добиться полного автоматизма не получалось. Но решение было найдено. Существует любопытный проект Remote Desktop Plus , который является надстройкой над rdp. С помощью этой надстройки можно передать параметры в rdp через командную строку, в том числе и имя пользователя с паролем. Мне это полностью подходит. Я скопировал на всякий случай эту очень полезную утилиту. Кладем его в папку и создаем в этой же папке rem-shut. Всего этого достаточно, чтобы выполнить дистанционное завершение работы на windows сервере. Пользователю необходимо передать 2 файла: При запуске батника произойдет подключение rdp пользователя и выполнится скрипт завершения работы. Здесь все оказалось значительно проще. Сразу же было найдено рабочее решение, которое позволяет без проблем удаленно выключить любой linux сервер. Задача решается стандартными средствами putty. Эту программу можно запускать из командной строки с параметрами. В качестве параметров можно указать файл с командами для выполнения, адрес сервера, пользователя и пароль. Сначала создаем простой текстовый документ shutdown. Передаем пользователю 3 файла, сложенные в одну папку: При этом не будет задано никаких вопросов. Сервер просто молча выключится. Вот такие нехитрые способы были мной придуманы и реализованы. Тут еще важно обеспечить доступ к локальной сети, в которой живут серверы. Уверен, существует множество других возможностей погасить сервер удаленно. Буду рад, если в комментариях со мной кто-нибудь поделится своими идеями и опытом на этот счет. Это команда на подключение к удаленному серверу по rdp без запроса логина и пароля. В автозагрузке пользователя, под которым ты подключаешься, должен стоять скрипт на выключение компьютера. Так там примерно то же самое. Легко ищется в яндексе по запросу: Например вот так можно перезагрузить: У меня получается выключить так: Подтверждение пароля root 3. Я же выше написал уже. Очевидно, что надо сделать аворизацию без пароля, либо пароль сразу в командной строке передавать. Затем там же в командной строке указать команду на выполнение в одиночных кавычках. Конечная цель у меня, сделать для этой штуки http: Чтобы выключить машину Linux с машины Linux в одно касание нужно: Настроить авторизацию по ключам описано здесь http: Разрешение пользователю выполнять некоторые команды без ввода пароля. После этого сетевую машину можно перегрузить или выключить в одно касание запроса пароля не будет командой ssh root Удаленное выключение Windows PC в домене: В домене я так и делаю, кстати. Мои скрипты получили продолжение — перезагружают компы и блочат учетки в домене. После перезагрузки в комп не войти. А тут нужно было погасить машину не в домене. Получилось, конечно, криво, но ведь надежно работает. С массовой командой shutdown. Столкнулся, когда отладку делал и тестировал. Пожалуйста, разрешите JavaScript чтобы отправить эту форму. Подписка на новые комментарии: Не отправлять уведомлений Отправить уведомление только при ответе на мой комментарий Отправить уведомление при появлении любого комментария. Главная Карта сайта Заказать статью Услуги Контакты. Системное администрирование Сайт содержит статьи, обзоры, инструкции по установке, настройке и администрированию различных информационных систем. Главная Форум Системы Freebsd CentOS Debian Windows Synology Сервисы Шлюз Веб сервер Почтовый сервер Настройка системы Бэкап Виртуализация Hyper-V VMware XenServer Proxmox KVM Mikrotik Мониторинг Zabbix Asterisk 1C Осторожно, вирус! Как выключить удаленный windows и linux сервер Обновлено: Добавить комментарий Отменить ответ Ваш e-mail не будет опубликован. Надежный и быстрый хостинг на SSD за небольшие деньги. Новости сайта на почту. Remember Me Регистрация Lost your password?


Значение имени инна
Сколько точек в ip адресе
Перезагрузка или завершение работы удаленного компьютера и документирование причины
Моря омывающие родос карта
Хронический энтерит симптомы и лечение у взрослых
Добывать газ из земли
Что делать если забыл пароль от электронной
Схема мат платы gigabyte ga m57sli s4
Управление человеком в организации менеджмент
Сколько стоит куб раствора
Характеристика природных зон география
Htcone s9 характеристики
Удалённое выключение систем Windows Server 2003 и Windows Server 2008.
Как выйти замуж за миллионера 3 сезон
Форма 1 приказ 29 от 20.01 2017
Имя прилагательное задания
Бумажный денежный знак
Сущность основных фондов предприятия
Команда SHUTDOWN - выключение / перезагрузка компьютера
Расписание 108 автобуса
Ниссан тиида 1.8 технические характеристики
Volvo 360 технические характеристики
Дексаметазон инструкция при стимуляции
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment