LinuxForum.Fans
Тема

Выключение компа по ssh

Автор: Ru_Grey 27 сообщений 10667 просмотров
#59723

Всем всего доброго.
Появилась надобность создать скриптик что бы он выключал компьютер по ssh. Сам написать не могу так как не обладаю навыками. Прошу помочь разобраться в решении задачи. В может быть куда направите. В Гугле уже рыскал, но ничего стоящего не нашел.
Заранее благодарен.

#59732

команда

text
shutdown -h how

засунутая в cron для вас выход, и не нужно городить ни каких скриптов, всё уже придумано.

#59738
Vadimsky написал:
команда
shutdown -n how

правильно: shutdown -h now

Ru_Grey, поставьте корректно задачу, а не размыто как вашем случаи. Здесь телепатов нет. Из вашего же поста я сделал некий вывод:

речь о том что бы не только выкл комп, но и еще выполнить удаленный вход в систему и выключить ее. А иначе смысл тогда от вход а в систему "руками" если можно просто самому погасить ее, без всяких скриптов одной командой.
если так то:
способ номер 1

1) настроить вход системы по ключам, далее использовать halt, а не shutdown -h now(данная комада разрешена только root) конечно же можно настроить что бы и обычный пользователь мог ее выполнять(требуют доп навоки)
2) далее прописать все по cron, и в окружении пользователя то что при его заходе система будет выключена через 300 секунд
(я бы так сделал)

способ номер 2:
прописать в cron команду shutdown и не использовать ssh(только вот зачем? О_о)

в общем как то так :-)

#59774

Точно -h пардон не заметил, глаз замылился.

#59783
i2ks написал:
2) далее прописать все по cron, и в окружении пользователя то что при его заходе система будет выключена через 300 секунд
(я бы так сделал)

неправильно.

для одиночного выполнения задачи есть команда at
а crond для периодического выполнения.

#59793

drBatty,как вариант: каждый день в 21-00 надо выкл ПК.

#59814
i2ks написал:
drBatty,как вариант: каждый день в 21-00 надо выкл ПК.

плохой вариант - представьте, что вы задержались, и нужно срочно доделать важный проект нужный "вчера". И тут ВНЕЗАПНО комп вырубается. :(
Ну и что вы скажете мудрому админу, который так сделал по ssh с год назад? тогда уж не now, а скажем 20, что-бы юзверь успел прочитать сообщение и отменить. Да и то - эти сообщения вроде только в консоли, а кто из юзверев её читает?

Можно написать скрипт, который в 21:00 начинает проверять скринсейвер, и как только скринсейвер активируется (т.е. юзеру надоело/он уснул) - вырубать компьютер. А так... Жестоко.

#59826
drBatty написал:
плохой вариант - представьте, что вы задержались, и нужно срочно доделать важный проект нужный "вчера". И тут ВНЕЗАПНО комп вырубается.

как вариант: я успеваю все делать,что дальше? Как вариант пользователь сам выкл ПК тогда когда ему это будет необходимо.

#59827
i2ks написал:
как вариант: я успеваю все делать,что дальше? Как вариант пользователь сам выкл ПК тогда когда ему это будет необходимо.

значит спросить надо у юзера. а shutdown ничего не спрашивает.

#59944

Да, нужно по требованию то есть по хотению юзера или оператора выключать, время может быть разным утром или вечером.
Именно нужен какой то скрипт. При запуске которого подключение проходило бы по ssh и выключался командой shutdown -h now например.

#59963

Ru_Grey, а что пользователь не в состоянии этого сделать сам? или там особая терминальная система может? oO

#59967

Ребят. Честное слово смешно. Ну какая разница для чего это надо. Вот захотелось и все тут. Можеь человек просто хочет узнать новые возможности удаленного администва. Давайте зместо вопросов а на фиг это надо или зачем вам это если есть то-то помочь конкрктным советом если знаете.

#59974

kOvr1K,
телефонный звонок:
1) привет. ПК выключить можно?
2) да конечно:

text

$ssh useraname@hostname
password:
Welcome !!!
$
$halt 
или
$su -
password:
#shutdown -h now
или
#init 0 
(но здесь надо смотреть на дистрибутив, в зачастую этот  init X может быть переписан иначе, пример к этому Solaris) 

и что здесь придумывать? :[

#60029
text

$ssh useraname@hostname
password:
Welcome !!!
$
$halt 
или
$su -
password:
#shutdown -h now
или
#init 0 

Что то на скрипт не похоже :)

#60033

Ru_Grey, а это и не скрипт, а последовательность действий админа-оператора :-)

#60044
Ru_Grey написал:
Что то на скрипт не похоже

OMG!
скрипт - это последовательность команд

В данном случае тут одной достаточно: halt
Ага. Всего 4 буквы. Что вам ещё надо-то? В определённое время?
man at
По расписанию?
man crond
Кому-то можно, кому-то нельзя?
man sudo

Что ещё?

#60799
drBatty написал:
[quote=Ru_Grey]Что то на скрипт не похоже

OMG!
скрипт - это последовательность команд

В данном случае тут одной достаточно: halt
Ага. Всего 4 буквы. Что вам ещё надо-то? В определённое время?
man at
По расписанию?
man crond
Кому-то можно, кому-то нельзя?
man sudo

Что ещё?[/quote]

Нужен скрипт с помощью которого можно было выключать компьютер. Логиниться по ssh и выключать.

#60826

Ru_Grey, oO
вы адекватный человек или нет? вот вам решение: http://linuxforum.ru/viewtopic.php?pid=71194#p71194
что от вас требуется, любая рабочая станция или сервер где присутствует ssh-client и все.

linux/unix:
открываем терминал: пишем $ssh username@host (где usernam - имя пользователя на удаленной системе, host адрес системы, ip или имя) далее водим пароль, и пишем 4 буквы halt, все!
(если ssh-client не установлен, то стави)

windows:
любой ssh-client (putty к примеру)

#60838
Ru_Grey написал:


Нужен скрипт с помощью которого можно было выключать компьютер. Логиниться по ssh и выключать.

хорошо. вот скрипт

text

#!/bin/sh
ssh example.com "sudo halt"

не забудьте вписать в ~/.netrc имя юзера и пароль.
ну и конечно у этого юзера должно иметься право выполнить без пароля sudo halt

#60839

drBatty, вообще то sudo лишнее, стандартный пользователь по умолчанию может использовать команду halt, без каких либо привилегий

Войдите или зарегистрируйтесь, чтобы ответить.