
Я настраиваю домашний сервер, на котором включено полное шифрование диска. Для восстановления после сбоя питания машина автоматически перезагружается. Я также могу разблокировать диск удаленно с помощью ssh согласно этой теме:SSH для расшифровки зашифрованного LVM во время загрузки headless-сервера?
Единственное, чего не хватает, так это того, что мне не сообщают о перезагрузке машины, чтобы я знал, когда снова разблокировать диск.
Есть ли в GRUB2 какая-то встроенная функция, которая поможет мне добиться этого, или единственный вариант — настроить внешнюю службу мониторинга сайта?
решение1
Этот тип функциональности слишком продвинут для GRUB. GRUB даже не может общаться по сети, за исключением TFTP.
TheSSH-сервер, который вы виделиработает под Linux. Он запускается рано во время процесса загрузки, после загрузки ядра, но до монтирования корневой файловой системы. Linux запускает программы изinitramfs(илиinitrdна старых системах) перед монтированием корневой файловой системы; например, именно так вы получаете запрос пароля на консоль, когда корневая файловая система зашифрована.
Initramfs обычно имеют наборBusyBoxутилиты. BusyBox не может отправлять почту, нопредполагает the ssmtpутилита в качестве компаньона для этой задачи. Вам нужно будет построить статически скомпилированную версию.
Альтернативным подходом может быть установка клиента dropbear и отправка письма (или другой формы уведомления) с другой машины. Вы можете использовать директиву command=
вauthorized_keys
файл, ограничивающий использование клавиши одной конкретной командой.
Еще один подход, если машина находится в сегменте сети, защищенном от вторжений, может заключаться в отправке ping-запроса на выделенный порт, или «port knock» с некоторой последовательностью, или отправке ping-запроса с некоторой постоянной полезной нагрузкой.