1. Openssh-server на Linux-сервере:
admin@server$ sudo apt-get install openssh-server
2. Openssh-client на Linux-клиенте:
admin@client$ sudo apt-get install openssh-client
3. Создаем на сервере пользователя, от имени которого будет выполняться ребут:
admin@server$ sudo useradd -m -s /bin/bash rebootuser admin@server$ sudo passwd rebootuser Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
4. На клиенте создаем открытый ключ (дабыне палить root пароли юзверям):
admin@client$ ssh-keygen -t rsa
на предложение Enter passphrase: Enter same passphrase again: нажать 'Enter' (т.е. Оставить пустым, чтоб ssh не требовал пароль)
ключ будет лежать в ~/.ssh/id_rsa.pub
5. Копируем открытый ключ на сервер:
Содержимое файла ~/.ssh/id_rsa.pub на клиенте, необходимо скопировать в файл домашней директории пользователя, от имени которого будет осуществляться подключение по ssh (в нашем случае - это rebootuser) ~/.ssh/authorized_keys (если его нет, создаем) на сервере. Сохраняем. Дергаем службу ssh ($sudo /etc/init.d/ssh restart)
Логинимся на серв для проверки:
admin@client$ ssh rebootuser@'server_ip'
Вуаля! Входим без запроса пароля!
6. Разрешаем на сервере rebotuser`у выполнять перезгрузку и выключение сервера без ввода пароля:
admin@server$ sudo visudoи в конц добавляем
rebootuser 'server_name'=NOPASSWD: /sbin/reboot,/sbin/shutdown -h now
7. Создаем на клиенте скрипт ребута и делаем его исполнительным:
admin@client$ mcedit reboot_halt.shи вставляем в него:
ssh -t rebootuser@'server_ip' 'sudo reboot'для выключения соответственно:
ssh -t rebootuser@'server_ip' 'sudo shutdown -h now'даем права на исполнение:
admin@client$ chmod o+x reboot_halt.sh
Жопиздан:)
Огонь
ОтветитьУдалить