Как отправить команду завершения работы на серверы

У меня есть 3 сервера, один NAS Qnap и 2 Rpi3, который управляет видеонаблюдением, некоторым основным domotics и так один.

Я только что настроил один сервер для контроля UPS, чтобы смочь понять, когда это - время для завершения работу серверов, потому что батарея UPS заканчивается.

Мои вопросы просты: существует ли способ отправить команду завершения работы на серверы, не входя в систему через SSH?

Я хотел бы за сервер, который контролирует UPS для отправки, при необходимости, завершения работы к другим двум серверам без входа в систему.

Действительно ли это возможно? Какой-либо протокол или во всяком случае еще?

Спасибо за помощь, Daniele

0
задан 17 November 2017 в 07:39

2 ответа

По-моему, ssh лучший способ состоит в том, чтобы сделать это. Можно настроить его так, чтобы Вы не отправляли пароль во время входа в систему. Можно скопировать локальный ssh ключ к серверу так, чтобы при отправке команды ssh, не было никакого требуемого пароля.Примечание: Это работает с любым входом в систему на удаленном хосте включая корень.

ssh-copy-id user@server

Вы изменились бы user в вышеупомянутой команде любому пользователю может выполнить завершение работы. Чтобы сделать корень, это было бы ssh-copy-id root@server.

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

Затем в Вашем сценарии или что когда-либо отправляет команду на удаленный сервер, на который это было бы похоже так:

ssh root@server 'shutdown -h now'

Не было бы никакого требуемого пароля, и сервер завершит работу.

Надеюсь, это поможет!

0
ответ дан 1 November 2019 в 05:05

Вы могли (это быть простым вопросом программирования Perl), пишут сценарий Perl, чтобы слушать определенный порт, и после получения правильного сообщения, сделать завершение работы. Начните с примеров в "книге" Perl Программирования (Книга Camel!) см. Главу 15.

0
ответ дан 1 November 2019 в 05:05

Другие вопросы по тегам:

Похожие вопросы: