- Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- Re: Выключение машины под linux по локальной сети
- 5 способов выключить компьютер с Linux через терминал
- 1. Отключение
- Перезапустить с -r
- 2. Перезагрузка
- 3. Остановить
- 4. Poweroff
- 5. Аварийный вариант: REISUB
- Помогите, я случайно выключил свой Linux компьютер или сервер!
- Как дистанционно выключить все компьютеры linux?
Выключение машины под linux по локальной сети
Народ как выключить машину по локальной сети? На выключаемой машины стоит линукс Slackware, посылать сигнал планируется тоже из под линукса Slackware.
Какие есть предложения?
Re: Выключение машины под linux по локальной сети
Re: Выключение машины под linux по локальной сети
сигнал должен посылать скриптом а не человеком
Re: Выключение машины под linux по локальной сети
ssh умеет авторизоваться по ключу
Re: Выключение машины под linux по локальной сети
Пример можете привести, если не сложно. PLIIIZ
Re: Выключение машины под linux по локальной сети
гугл «ssh авторизация по ключу»
читаешь man ssh
запускаешь с нужными параметрами
Re: Выключение машины под linux по локальной сети
Re: Выключение машины под linux по локальной сети
для верности надо использовать скрипт
echo 1 > /proc/sys/kernel/sysrq
echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger
echo l > /proc/sysrq-trigger
sleep 2 && echo b > /proc/sysrq-trigger
Re: Выключение машины под linux по локальной сети
Вообще то для этого есть rsh.
Re: Выключение машины под linux по локальной сети
А что, в слаке shutdown -h now не работает?
Потом, после echo s > /proc/sysrq-trigger нужно время перед перемонтированием для синхронизайции, иначе своим скриптом файловую систему превратите в какашку.
Поэтому лучше:
sync &
sync
echo 1 > /proc/sys/kernel/sysrq
echo u > /proc/sysrq-trigger
.
Источник
5 способов выключить компьютер с Linux через терминал
Ни одна операционная система не идеальна. Даже если это так, могут быть проблемы с драйверами и приложениями. Linux не является исключением. Несмотря на то, что он более стабилен, чем Windows, вероятно, придет время, когда вам нужно перезагрузить компьютер с Linux.
Но как ты мог это сделать? Доступны несколько команд для выключения или перезагрузки компьютера Linux через терминал.
Давайте посмотрим на них по очереди и рассмотрим, как и когда следует использовать эти команды.
1. Отключение
Если вы закончили работу с Linux, решение просто отключить его, для это можно использовать синтаксис команды:
shutdown [option] [time] [message]
Например, чтобы немедленно выключить компьютер, вы должны использовать:
Где -h означает остановку, а now – сейчас, что означает, инструкция должна быть выполнена немедленно. Различные задержки могут быть использованы. Например, вместо этого вы можете использовать +5, что скажет компьютеру выполнить процедуру выключения через пять минут.
Если вы хотите использовать message (сообщение), оно будет мигать всем зарегистрированным пользователям:
shutdown -h +5 «Сервер выключается, сохраните свою работу и выйдите из системы.»
Помните, что вы можете найти полный список переключателей для этих команд, введя:
Перезапустить с -r
Альтернативный вариант – использовать команду -r для перезагрузки компьютера. Она используется вместо -h, поэтому, для перезагрузки компьютера или сервера вы можете использовать:
shutdown -r +5 «Сервер перезагружается через пять минут, сохраните свою работу и выйдите из системы.»
Любое запланированное отключение или перезапуск можно отменить, введя команду -c:
2. Перезагрузка
Поскольку команда shutdown имеет опцию перезапуска, неудивительно, что команда reboot имеет опцию shutdown.
Стандартная команда перезагрузки:
Это предложит вашему компьютеру выключиться и снова включиться. Однако, если вы хотите выключить устройство, то ключ -p будет работать:
Другой вариант – принудительная перезагрузка. Это может быть полезно, если приложение или служба зависли и вам нужно быстро перезагрузиться:
Эта команда принудительно перезагрузит ваш Linux ПК.
3. Остановить
Мы уже видели переключатель -h выше, но остановка может использоваться как команда сама по себе. Это приведет к немедленному отключению компьютера с помощью простого четырехбуквенного слова:
Переключатель -f также можно использовать с остановкой, но результаты противоречивы, и может привести к проблемам стабильности системы.
4. Poweroff
Вы можете предпочесть терминологию команды poweroff. Это делает то же самое, что и halt, за исключением того, что ввод текста занимает в два раза больше времени.
Однако, кроме использования -f для принудительного отключения питания, вы также можете использовать ключ -w для регистрации вызова перезагрузки системы в /var/log/wtmp. Это потенциально полезный инструмент отладки, как -verbose, который может помочь с проблемами при завершении работы.
5. Аварийный вариант: REISUB
Все вышеперечисленные команды можно использовать в ситуациях, когда система работает без проблем. Но что делать, если компьютер или сервер зависает и не может быть перезагружен приемлемым способом?
Ответ тогда – комбинация клавиатуры. Если вы переключились с Windows, вы, вероятно, знаете, что Ctrl + Alt + Del отображает меню с выключением в качестве опции. Если удерживать дольше, машина выключится автоматически. В то же время на Mac вы просто должны удерживать кнопку питания (опция, которая также работает на оборудовании Windows).
В Linux комбинация клавиш для перезагрузки Alt + Print Screen + B. Однако, если это не работает или существует более сложная проблема, вы можете изменить комбинацию, используя до шести клавиш.
Это известно как REISUB, из-за следующей вынужденной аббревиатуры:
- unRaw – возвращает управление клавиатурой обратно с сервера X-дисплея.
- tErminate – посылает сигнал завершения SIGTERM всем процессам для корректного завершения.
- kIll – как и выше, но сигнал SIGKILL, который вызывает немедленное завершение процессов.
- Sync – сбрасывает данные на диск.
- Unmount – перемонтирует все файловые системы в состояние только для чтения.
- reBoot – что и следовало ожидать.
Чтобы это сработало, вы должны удерживать Alt + Print Screen, а затем, поочерёдно нажимать клавиши: R E I S U B, в этом же порядке. Задержка между каждым нажатием должна составлять 1-2 секунды. Это необходимо для того, чтобы дать немного времени на выполнение всех вышеперечисленных процессов. Обратите внимание, что этот метод обычно не работает на компьютерах с архитектурой ARM.
Помогите, я случайно выключил свой Linux компьютер или сервер!
Мы видели, как отменить команду выключения или перезапуска. Однако бывают ситуации, что вы запускаете команду выключения, когда выполняется жизненно важный процесс, особенно на удаленном сервере. Обойти это можно, установив molly-guard, который может отменить отключение, проверив определенные параметры.
Например, есть скрипт, который проверяет наличие сессий SSH. Если вы отправите команду перезагрузки, остановки или выключения molly-guard потребует имя хоста, который вы собираетесь закрыть.
Для этого установите molly-guard в терминал:
sudo apt-get install molly-guard
Поскольку molly-guard работает в фоновом режиме, он обнаружит такую команду, как poweroff, и сообщит, что был обнаружен сеанс SSH. Затем вы можете ввести имя хоста сервера для подтверждения выключения или нажать Ctrl + C для отмены. Полезно!
Эти пять способов выключения компьютера Linux из командной строки особенно полезны, поскольку их можно использовать на самом компьютере или через удаленный SSH. Поскольку эти команды очень лаконичны, они пригодны для быстрого использования – что может привести к случайной перезагрузке время от времени! К счастью, утилиты molly-guard достаточно, чтобы этого избежать.
Чтобы узнать больше о командах Linux, ознакомьтесь с нашей справочной таблицей.
Источник
Как дистанционно выключить все компьютеры linux?
Подскажите плз как из под linux массово выключить linux компьютеры в заданное время?
И отдельный скрипт по включению?
на выключение пробовал через expect — почему-то не получилось.
вот пример мой выключения 1 компьютера, но он не работает, почему?
Перемещено beastie из general
Чтобы никого не обидеть, будем называть его a-word.
А чего не ssh root@192.168.2.27 poweroff ? И почему по паролю, а не по ключу?
А разве всякие там puppet и прочие подобные системы не для того придуманы?
есть какие-либо идеи?
Еще более прикольный вопрос: кагого вообще root, если должен быть выделенный юзверь, умеющий только poweroff.
Кстати, можно в shell юзера power написать nohup poweroff → достаточно будет тупо писать ssh power@host
а вот именно через expect это возможно?
чтобы по ключу, я так понимаю надо на всех машинах создать этот ключ?
как сделать именно через expect по паролю?
чтобы по ключу, я так понимаю надо на всех машинах создать этот ключ?
Я без понятия, что такое expect и нафиг оно нужно. А ssh должен быть по ключам. Ибо нефиг фигней маяться!
З.Ы. Ни в коем случае не делай ssh руту по ключам!
З.З.Ы. И лучше вообще запрещать везде доступ руту по ssh. Заходишь под обычным пользователем, потом делаешь su -.
Байку про выезжающий сидюк уже рассказывали?
- Сделай для рута на каждом клиенте возможность авторизации по ключу,
- создай отдельный ключ,
- на каждом клиенте в /root/.ssh/authorized_keys пропиши публичную часть ключа с параметром command=»poweroff» .
Теперь любой ssh -i key.file root@$host выключит host . Только нужно будет ssh по ним всем запустить, чтобы они в known_hosts прописались.
Ни в коем случае не делай ssh руту по ключам!
подписываюсь под вопросом
Вход по ключам + типа такого:
Потому что завладев одним паролем юзверя, от которого запускается этот скрипт, получим рутовский доступ к уйме компов!
По ключам ни в коем случае нельзя руту по ssh.
Ну можно не руту, а отдельному пользователю которому разрешено делать halt
Вот я ниже скриптики и привел для пользователя power, которому шеллом назначается poweroff или halt, запущенный в nohup (чтобы сразу соединение закрылось).
По ключам ни в коем случае нельзя руту по ssh.
С какого это перепугу?
А вот PermitRootLogin prohibit-password не помешает.
Так, с выключением, вроде разобрались. А для включения используй WOL.
Или через sudo и группы:
По ключам ни в коем случае нельзя руту по ssh.
Вообще-то, ключ, по которому доступен рут лежит на машине админа (а кто еще заходит под рутом). И чтобы получить его, нужно чтобы либо админ был балбесом, либо целенаправленная атака на конкретного человека. Т.е. шансов мало завладеть ключем.
В описанной ситуации по-любому нужно уметь делать автоматическое выключение машин, поэтому, кто завладеет машиной, с которой запускается скрипт, тот сможет его запустить. Так что не важно будет там авторизация по ключам или другая. В моем алгоритме, завладев ключем ничего кроме poweroff сделать не получится.
P.S. По моему мнению, закрывание входа по ssh руту — параноя, которая создает трудности (иногда нужно иметь возможность, например, скопировать файлы доступные на одной машине только руту, на другую в место доступное тоже только руту, и делать это в два приема неудобно, кроме того, иногда бывает нужно сделать что-то со /home, отмонтировать, например, а зайдя пользователем и сделав sudo su -, хотяка не отмонтируешь). Короче, запрет входа руту даже по ключу создает неоправданные сложности (не окупает оно себя в общем). Так же как и перевешивание ssh на нестандартный порт, например, чтобы не подбирали пароли пользователей (есть более эффективные методы без необходимости обучать scp, git и другие программы, которые ходят по ssh использованию нестандартного порта).
Представь, что у ТСа рутовский доступ по ключам к сотне компов. Он отошел, забыв заблокировать экран. Кто-нибудь шутки ради запускает скрипт по аналогии с вышеприведенным, но на nohup rm -rf / . Классная будет шутка.
Во первых, по хорошему, сам ключь запаролен. (И ssh-agent для ленивых.)
Во вторых, у тебя параноя. 😉
Представь, что у ТСа рутовский доступ по ключам к сотне компов. Он отошел, забыв заблокировать экран.
Отсюда вытекает правило: «Никому не давай свой комп разблокированным и запущенным ssh-agent’ом!»
P.S. Я наблюдал сильную корреляцию между параноей недавания входа рутом и любовью к FreeBSD (пока BSD еще оставалась популярной в России). Эдди, ты BSD’оид?
я понял. Это мамкин кулхацкер хочет кому-то насолить. К гадалке не ходить.
Представь, что у ТСа рутовский доступ по ключам к сотне компов.
окстись, он же школьник еще. 99 год рождения же.
Нет еще. Но если гента тоже сдохнет, то буду.
Представь, что у ТСа рутовский доступ по ключам к сотне компов. Он отошел, забыв заблокировать экран. Кто-нибудь шутки ради запускает скрипт по аналогии с вышеприведенным, но на nohup rm -rf /. Классная будет шутка.
Абсолютно такой же результат и для пароля. А вот во всех остальных случаях — безопаснее именно ключ.
Не дожидаешься промпта для ввода команд. После пароля добавь строку
expect \\\\# и в конце expect eof
Возможно нужно указать полный путь до poweroff
Еще есть:
set timeout N — где N время в секундах сколько будет ждать команда expect появления строки, если строка не появиться перейдет к следующей команде, при -1 ждать бесконечно.
log_user 1 — помогает при отладке
Вобщем начни эксперименты с безобидных команд, как заработает меняй на poweroff.
С этим сложнее. Читай про всякие WOL и т.п. собственно к linux это уже отношения не имеет.
Во первых, по хорошему, сам ключь запаролен. (И ssh-agent для ленивых.)
Во вторых, у тебя параноя. 😉
Не не, он прав, а то потом истории «бухнул как-то админ и набрал команду. », от себя тоже защищаться надо. 🙂
Я без понятия, что такое expect и нафиг оно нужно. А ssh должен быть по ключам.
Вот! В том-то все и дело, что многие «без понятия, что такое expect», если внезапно кто-то получил доступ к твоей учетке, то скопировать ключики не такая сложная задача, все о них знают, лежат по стандартным путям, а вот про то что я в какой-то там хз где лежащий скрипт пароль прописал (а если еще в хитро извернутом виде) это догадаться надо, так что безопаснее получается 🙂 Это как с вирусами в linux нафиг не нужно никому, так и здесь проще ключи с 100-ни машин собрать чем голову ломать над одним. 🙂
Источник