Proxmox. Установка на зашифрованный системный раздел: различия между версиями
Cless (обсуждение | вклад) |
Cless (обсуждение | вклад) |
||
| Строка 199: | Строка 199: | ||
<code>reboot</code> | <code>reboot</code> | ||
Система требует ввести пароль для дальнейшей загрузки | Система требует ввести пароль для дальнейшей загрузки ОС | ||
===== Вариант 2. Дешифруем системный раздел и второй диск с данными ===== | |||
<blockquote>Можно использовать и просто для системного диска | |||
Для этого не используем строку дешифровки второго диска /dev/sdb в скрипте (см. далее)</blockquote>https://askubuntu.com/questions/1076305/dropbear-initramfs-on-ubuntu-18-04 | |||
-- | <code>apt-get install dropbear initramfs-tools busybox</code> | ||
// | <code>nano /etc/default/dropbear</code> | ||
... | |||
NO_START=1 | |||
... | |||
Этот скрипт создает при загрузке системы скрипт /usr/bin/unlock, который будет автоматически запускаться при входе клиента ssh в оболочку сервера. | |||
// | Обращаем внимания на дополнительную строку: /sbin/cryptsetup luksOpen /dev/sdb data01 | ||
Она дешифрует второй диск с данными, затем необходимо будет ввести пароль для первого системного диска, после чего система начнет загружаться | |||
<code>nano /etc/initramfs-tools/hooks/crypt_unlock.sh</code><syntaxhighlight lang="bash"> | |||
#!/bin/sh | |||
nano /etc/initramfs-tools/hooks/crypt_unlock.sh | |||
< | |||
PREREQ="dropbear" | PREREQ="dropbear" | ||
prereqs() { | prereqs() { | ||
echo "$PREREQ" | echo "$PREREQ" | ||
} | } | ||
case "$1" in | case "$1" in | ||
prereqs) | prereqs) | ||
prereqs | prereqs | ||
exit 0 | exit 0 | ||
;; | |||
esac | esac | ||
. "${CONFDIR}/initramfs.conf" | . "${CONFDIR}/initramfs.conf" | ||
. /usr/share/initramfs-tools/hook-functions | . /usr/share/initramfs-tools/hook-functions | ||
if [ "${DROPBEAR}" != "n" ] && [ -r "/etc/crypttab" ] ; then | |||
if [ "${DROPBEAR}" != "n" ] && [ -r "/etc/crypttab" ] ; then | |||
cat > "${DESTDIR}/bin/unlock" << EOF | cat > "${DESTDIR}/bin/unlock" << EOF | ||
#!/bin/sh | |||
# custom non-system disk decrypt | |||
/sbin/cryptsetup luksOpen /dev/sdb data01 | /sbin/cryptsetup luksOpen /dev/sdb data01 | ||
if PATH=/lib/unlock:/bin:/sbin /scripts/local-top/cryptroot; then | if PATH=/lib/unlock:/bin:/sbin /scripts/local-top/cryptroot; then | ||
kill \`ps | grep cryptroot | grep -v "grep" | awk '{print \$1}'\` | kill \`ps | grep cryptroot | grep -v "grep" | awk '{print \$1}'\` | ||
# following lines will be executed after the passphrase has been correctly entered | |||
# kill the remote shell | |||
kill -9 \`ps | grep "\-sh" | grep -v "grep" | awk '{print \$1}'\` | kill -9 \`ps | grep "\-sh" | grep -v "grep" | awk '{print \$1}'\` | ||
exit 0 | exit 0 | ||
fi | fi | ||
exit 1 | exit 1 | ||
EOF | EOF | ||
chmod 755 "${DESTDIR}/bin/unlock" | chmod 755 "${DESTDIR}/bin/unlock" | ||
mkdir -p "${DESTDIR}/lib/unlock" | mkdir -p "${DESTDIR}/lib/unlock" | ||
cat > "${DESTDIR}/lib/unlock/plymouth" << EOF | cat > "${DESTDIR}/lib/unlock/plymouth" << EOF | ||
#!/bin/sh | |||
[ "\$1" == "--ping" ] && exit 1 | [ "\$1" == "--ping" ] && exit 1 | ||
/bin/plymouth "\$@" | /bin/plymouth "\$@" | ||
EOF | EOF | ||
chmod 755 "${DESTDIR}/lib/unlock/plymouth" | chmod 755 "${DESTDIR}/lib/unlock/plymouth" | ||
echo To unlock root-partition run "unlock" >> ${DESTDIR}/etc/motd | echo To unlock root-partition run "unlock" >> ${DESTDIR}/etc/motd | ||
fi | fi | ||
</syntaxhighlight><code>chmod +x /etc/initramfs-tools/hooks/crypt_unlock.sh</code> | |||
<code>nano /etc/initramfs-tools/scripts/init-bottom/cleanup.sh</code><syntaxhighlight lang="bash"> | |||
#!/bin/sh | |||
nano /etc/initramfs-tools/scripts/init-bottom/cleanup.sh | |||
< | |||
echo "Killing dropbear" | echo "Killing dropbear" | ||
killall dropbear | killall dropbear | ||
exit 0 | exit 0 | ||
</syntaxhighlight><code>chmod +x /etc/initramfs-tools/scripts/init-bottom/cleanup.sh</code> | |||
'''IP''' dropbear, к которому будем подключаться для дешифрования разделов | |||
<code>nano /etc/initramfs-tools/initramfs.conf</code> | |||
... | |||
IP=192.168.199.177::192.168.199.1:255.255.255.0:::off | |||
Настройки dropbear | |||
-- | '''''-c /usr/bin/unlock''''' - автозапуск скрипта дешифрования при подключением клиентом ssh при загрузке iniramfs | ||
// | <code>echo 'DROPBEAR_OPTIONS="-RFEsjk -c /usr/bin/unlock"' > /etc/dropbear-initramfs/config</code> | ||
Содержимое cat id_rsa.pub (который создали на клиенте) копируем и помещаем в файл authorized_keys | |||
// | <code>echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvPopsr/hQHihV59qKcLLXLVae0SUshN6xPPe+y7SidCzjBvt4dAhj9IRagxDbRIRaqLefIO+wyvR8bu6qXfYV98Nf8qNRgeCjvseCnxUwR7ek/51NXhn1FqwHRwdvswIwbkF88aIPdgpL8+BBqoIQKgULIKNdDJ/QigqvWN3WacKpfWp/Nyae9h4LYsOV2tLVb/42q3Hw9T9ojEkk3fa1+JWO5ioZdG/8BTTix0C4/yesOGDo4TraN3sHMK2wd+cSoG2tgzkU9hhfQCTACP/j1FO7qNxqIveeSHraAP12yLqaWXeT5SS/FQq8Tf3+c6/nX3lM7aTr/cHwM8WTdzWD root@centos7-test01' > /etc/dropbear-initramfs/authorized_keys</code> | ||
/ | Обновляем настройки iniramfs<blockquote>ЗАПУСКАТЬ ПРИ ЛЮБОМ ИЗМЕНЕНИИ КОНФИГА dropbear-iniramfs</blockquote><code>update-initramfs -u</code> | ||
/ | <code>reboot</code> | ||
Система требует ввести пароль для дальнейшей загрузки ОС | |||
===== Подключиться из '''Linux''' для дешифрования раздела ===== | |||
Когда будет запрос пароля на подключение шифрованных разделов - подключаемся '''С КЛИЕНТА, PUBLICKEY КОТОРОГО ВНЕСЛИ В authorized_keys''' | |||
Пароль root SSH сервера не будет запрашиваться, так как мы добавили publickey клиента на сервер. | |||
Публичный ключ id_rsa.pub, после его внесения в /etc/dropbear-initramfs/authorized_keys на сервере, | |||
Необязательно использовать только с клиента, на котором мы его создали. | |||
Можно перенести ключ на любую Linux машину и использовать эту машину для подключения к серверу. | |||
. | По-умолчанию при использовании ssh-клиента, система ищет ключи в ~/.ssh | ||
/ | Указать путь к паре ключей (id_rsa / id_rsa.pub) вручную также можно опцией -i | ||
// | <code>ssh -i /root/rsa/id_rsa root@192.168.199.186</code> | ||
... | |||
Please unlock disk sda5_crypt: | |||
... | |||
Вводим пароль на шифрованный раздел | |||
Готово - система загружается | |||
===== Подключиться из '''Windows''' для дешифрования раздела ===== | |||
Для дешифрования раздела будем использовать '''PUTTY''' и ту же пару ключей, которую создали в Linux | |||
/ | Копируем пару ключей (id_rsa / id_rsa.pub) из системы Linux в систему Windows, в директорию "rsa" в папке с plink.exe | ||
Скачиваем puttygen.exe и plink.exe | |||
// | https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html | ||
Необходимо сконвертировать приватный ключ id_rsa в формат, который поймет putty | |||
https://www.simplified.guide/putty/convert-ssh-key-to-ppk | |||
Запускаем puttygen | |||
Load - выбираем приватный ключ id_rsa | Load - выбираем приватный ключ id_rsa | ||
Будет сообщение об успехе импорта ключа, далее: | |||
Save private key - сохраняем файл как id_rsa.ppk (формат ключа putty) в директорию "rsa" в папке с plink.exe | |||
. | Запускаем plink, указав путь к ключу id_rsa.ppk | ||
Please unlock disk sda2_crypt: | <code>plink.exe -batch -i .\rsa\centos7-test01-199-191\id_rsa.ppk root@192.168.199.186</code> | ||
... | |||
Please unlock disk sda2_crypt: | |||
... | |||
Вводим пароль шифрования | |||
Готово - система загружается | |||
/ | ===== Подключиться из '''Mikrotik''' routeros для дешифрования раздела ===== | ||
Копируем на микротик пару ключей (id_rsa / id_rsa.pub), которые создали на Linux и импортируем их | |||
// | <code>/user ssh-keys private import user=admin private-key-file=id_rsa public-key-file=id_rsa.pub passphrase=""</code> | ||
Подключаемся | |||
<code>/system ssh address=192.168.199.177 user=root</code> | |||
... | |||
Please unlock disk sda2_crypt: | |||
... | |||
Вводим пароль шифрования | |||
Готово - система загружается | |||
/ | = ВАРИАНТ 2. Шифрование всех разделов, включая /boot = | ||
https://cryptsetup-team.pages.debian.net/cryptsetup/encrypted-boot.html | |||
https://habr.com/ru/post/306606/ | |||
[[Категория:Proxmox]] | [[Категория:Proxmox]] | ||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | ||
Версия 12:25, 29 апреля 2022
Описание
Установка Proxmox на зашифрованный системный раздел. При загрузке ОС необходимо вводить пароль шифрования.
Установка
Вариант 1. Установка Debian 10 на шифрованный раздел LVM, и уже в Debian ставим Proxmox
При такой установке раздел /boot будет незашифрован. ОС при запуске в явном виде будет просить ввести пароль для подключения шифрованных системных разделов.
Запускаем установку Debian 10 на отдельный диск для ОС.
Создаем и шифруем раздел, на котором будут разделы LVM / и swap
Вариант шифрования 1
Предпочтительный, поскольку можно создать шифрованный раздел небольшого размера. Потом будет проще и быстрее его бэкапировать, хранить и восстанавливать
Вариант шифрования 2
Простой. шифрованный раздел займет объем всего диска, неудобного бэкапировать и восстанавливать
В процессе установки выбираем установку на шифрованый раздел LVM
Автоматически будут созданы разделы:
sda1 - /boot
sda5 - sda5_crypt (на нем будут разделы / и swap)
Дальнейшая общая настройка после установки Debian
На сервере SSH (Proxmox VE)
nano /etc/ssh/sshd_config
... PermitRootLogin yes ...
systemctl restart sshd
Устанавливаем утилиту для работы с бриджами
apt install -y bridge-utils
Смотрим имя локального сетевого интерфейса
ip a
Создаем бридж
Назначаем статический IP на бридже
Добавляем в бридж локальный интерфейс ens192 без IP
nano /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug ens192 iface ens192 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.199.189 netmask 255.255.255.0 gateway 192.168.199.1 dns-nameservers 192.168.199.1 bridge_ports ens192 bridge_stp off bridge_fd 0
ИЛИ
Динамический IP на бридже
nano /etc/network/interfaces
... auto vmbr0 iface vmbr0 inet dhcp bridge_stp off bridge_fd 0
systemctl restart networking ИЛИ reboot
nano /etc/hostname
pve-test01
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.199.189 pve-test01.local pve-test01 pvelocalhost ...
Проверяем
hostname --ip-address
... 192.168.199.189 ...
echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
chmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg # optional, if you have a non-default umask
apt update && apt full-upgrade
apt install proxmox-ve postfix open-iscsi
// Recommended: remove the os-prober package
// The os-prober package scans all the partitions of your host, including those assigned to guests VMs, to create dual-boot GRUB entries. If you didn't install Proxmox VE as dual boot beside another Operating System, you can safely remove the os-prober package.
apt remove os-prober
Если в системе есть диск с данными, который мы хотим дешифровать при загрузке вместе с системным, то добавим вторую строку с диском data01 в файл /etc/crypttab:
sda5_crypt (/dev/sda5) - системный шифрованный раздел
data01 (/dev/sdb) - шифрованный диск с данными
UUID можно посмотреть командой "blkid"
nano /etc/crypttab
... sda5_crypt UUID=cc534e1a-8de7-4767-ad29-8e03e15a3fce none luks,discard data01 UUID=e001816d-68d9-4a64-9013-d5aab823fedf none luks,discard ...
reboot
При загрузке в локальной консоли после дешифрования системного раздела sda5_crypt появится запрос на дешифрование data01
Отчасти готово.
Теперь, при запуске системы, необходимо подключиться удаленным управлением (например, iLO Remote Console) или, на крайний случай, монитором с клавиатурой.
Если же карта удаленного доступа на сервере отсутствует, а монитор подключать не хочется, то имеется решение.
Используем dropbear-initramfs, реализация ssh сервера, встроенного в initramfs, чтобы можно было подключиться по ssh перед загрузкой ядра linux и ввести пароль на шифрованный раздел удаленно.
Есть ограничение: по логину/паролю подключиться в таком случае не получится. на клиенте, с которого будем подключаться по ssh для ввода пароля шифрованного раздела необходимо создать publickey и поместить его на сервер ssh (pve). можно использовать одну пару ключей (id_rsa / id_rsa.pub) на разных машинах linux
На клиенте (Linux)
Для начала создадим пару ключей (id_rsa / id_rsa.pub), которые будем использовать для подключения на сервер с целью дешифрования разделов
Вносим настройки в ssh клиент, чтобы при изменении ключа ssh удаленного сервера, ssh клиент не ругался
nano ~/.ssh/config
... UserKnownHostsFile=/dev/null StrictHostKeyChecking=no ...
(
ИЛИ
при подключении клиентом по ssh используем опции:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user$host
)
Создаем публичный ключ
ssh-keygen -t rsa
Получаем ключ: ~/.ssh/id_rsa.pub
cat ~/.ssh/id_rsa.pub
На сервере SSH (Proxmox VE)
Вариант 1. Дешифруем только системный раздел
https://www.cyberciti.biz/security/how-to-unlock-luks-using-dropbear-ssh-keys-remotely-in-linux/
https://www.sidorenko.io/post/2019/09/full-encrypted-proxmox-installation/
https://www.pbworks.net/ubuntu-guide-dropbear-ssh-server-to-unlock-luks-encrypted-pc/
Ставим утилиты
apt-get install -y dropbear-initramfs cryptsetup-initramfs lvm2
Настройки dropbear
echo 'DROPBEAR_OPTIONS="-RFEsjk -c /bin/cryptroot-unlock"' > /etc/dropbear-initramfs/config
Содержимое cat id_rsa.pub (который создали на клиенте) копируем и помещаем в файл authorized_keys
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvPopsr/hQHihV59qKcLLXLVae0SUshN6xPPe+y7SidCzjBvt4dAhj9IRagxDbRIRaqLefIO+wyvR8bu6qXfYV98Nf8qNRgeCjvseCnxUwR7ek/51NXhn1FqwHRwdvswIwbkF88aIPdgpL8+BBqoIQKgULIKNdDJ/QigqvWN3WacKpfWp/Nyae9h4LYsOV2tLVb/42q3Hw9T9ojEkk3fa1+JWO5ioZdG/8BTTix0C4/yesOGDo4TraN3sHMK2wd+cSoG2tgzkU9hhfQCTACP/j1FO7qNxqIveeSHraAP12yLqaWXeT5SS/FQq8Tf3+c6/nX3lM7aTr/cHwM8WTdzWD root@centos7-test01' > /etc/dropbear-initramfs/authorized_keys
Проверяем что таблица /etc/crypttab содержит примерно следующее
sda2_crypt /dev/sda2 none luks,initramfs
Настройки сети DROPBEAR
${optional_fqdn}, ${interface_name} - необязательные параметры
echo 'IP="${ip_address}::${gateway_ip}:${netmask}:${optional_fqdn}:${interface_name}:none"' > /etc/initramfs-tools/conf.d/ip
Обновляем initramfs
ЗАПУСКАТЬ ПРИ ЛЮБОМ ИЗМЕНЕНИИ КОНФИГА dropbear-iniramfs
update-initramfs -k all -u
reboot
Система требует ввести пароль для дальнейшей загрузки ОС
Вариант 2. Дешифруем системный раздел и второй диск с данными
Можно использовать и просто для системного диска Для этого не используем строку дешифровки второго диска /dev/sdb в скрипте (см. далее)
https://askubuntu.com/questions/1076305/dropbear-initramfs-on-ubuntu-18-04
apt-get install dropbear initramfs-tools busybox
nano /etc/default/dropbear
... NO_START=1 ...
Этот скрипт создает при загрузке системы скрипт /usr/bin/unlock, который будет автоматически запускаться при входе клиента ssh в оболочку сервера.
Обращаем внимания на дополнительную строку: /sbin/cryptsetup luksOpen /dev/sdb data01
Она дешифрует второй диск с данными, затем необходимо будет ввести пароль для первого системного диска, после чего система начнет загружаться
nano /etc/initramfs-tools/hooks/crypt_unlock.sh
#!/bin/sh
PREREQ="dropbear"
prereqs() {
echo "$PREREQ"
}
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
. "${CONFDIR}/initramfs.conf"
. /usr/share/initramfs-tools/hook-functions
if [ "${DROPBEAR}" != "n" ] && [ -r "/etc/crypttab" ] ; then
cat > "${DESTDIR}/bin/unlock" << EOF
#!/bin/sh
# custom non-system disk decrypt
/sbin/cryptsetup luksOpen /dev/sdb data01
if PATH=/lib/unlock:/bin:/sbin /scripts/local-top/cryptroot; then
kill \`ps | grep cryptroot | grep -v "grep" | awk '{print \$1}'\`
# following lines will be executed after the passphrase has been correctly entered
# kill the remote shell
kill -9 \`ps | grep "\-sh" | grep -v "grep" | awk '{print \$1}'\`
exit 0
fi
exit 1
EOF
chmod 755 "${DESTDIR}/bin/unlock"
mkdir -p "${DESTDIR}/lib/unlock"
cat > "${DESTDIR}/lib/unlock/plymouth" << EOF
#!/bin/sh
[ "\$1" == "--ping" ] && exit 1
/bin/plymouth "\$@"
EOF
chmod 755 "${DESTDIR}/lib/unlock/plymouth"
echo To unlock root-partition run "unlock" >> ${DESTDIR}/etc/motd
fi
chmod +x /etc/initramfs-tools/hooks/crypt_unlock.sh
nano /etc/initramfs-tools/scripts/init-bottom/cleanup.sh
#!/bin/sh
echo "Killing dropbear"
killall dropbear
exit 0
chmod +x /etc/initramfs-tools/scripts/init-bottom/cleanup.sh
IP dropbear, к которому будем подключаться для дешифрования разделов
nano /etc/initramfs-tools/initramfs.conf
... IP=192.168.199.177::192.168.199.1:255.255.255.0:::off
Настройки dropbear
-c /usr/bin/unlock - автозапуск скрипта дешифрования при подключением клиентом ssh при загрузке iniramfs
echo 'DROPBEAR_OPTIONS="-RFEsjk -c /usr/bin/unlock"' > /etc/dropbear-initramfs/config
Содержимое cat id_rsa.pub (который создали на клиенте) копируем и помещаем в файл authorized_keys
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvPopsr/hQHihV59qKcLLXLVae0SUshN6xPPe+y7SidCzjBvt4dAhj9IRagxDbRIRaqLefIO+wyvR8bu6qXfYV98Nf8qNRgeCjvseCnxUwR7ek/51NXhn1FqwHRwdvswIwbkF88aIPdgpL8+BBqoIQKgULIKNdDJ/QigqvWN3WacKpfWp/Nyae9h4LYsOV2tLVb/42q3Hw9T9ojEkk3fa1+JWO5ioZdG/8BTTix0C4/yesOGDo4TraN3sHMK2wd+cSoG2tgzkU9hhfQCTACP/j1FO7qNxqIveeSHraAP12yLqaWXeT5SS/FQq8Tf3+c6/nX3lM7aTr/cHwM8WTdzWD root@centos7-test01' > /etc/dropbear-initramfs/authorized_keys
Обновляем настройки iniramfs
ЗАПУСКАТЬ ПРИ ЛЮБОМ ИЗМЕНЕНИИ КОНФИГА dropbear-iniramfs
update-initramfs -u
reboot
Система требует ввести пароль для дальнейшей загрузки ОС
Подключиться из Linux для дешифрования раздела
Когда будет запрос пароля на подключение шифрованных разделов - подключаемся С КЛИЕНТА, PUBLICKEY КОТОРОГО ВНЕСЛИ В authorized_keys
Пароль root SSH сервера не будет запрашиваться, так как мы добавили publickey клиента на сервер.
Публичный ключ id_rsa.pub, после его внесения в /etc/dropbear-initramfs/authorized_keys на сервере,
Необязательно использовать только с клиента, на котором мы его создали.
Можно перенести ключ на любую Linux машину и использовать эту машину для подключения к серверу.
По-умолчанию при использовании ssh-клиента, система ищет ключи в ~/.ssh
Указать путь к паре ключей (id_rsa / id_rsa.pub) вручную также можно опцией -i
ssh -i /root/rsa/id_rsa root@192.168.199.186
... Please unlock disk sda5_crypt: ...
Вводим пароль на шифрованный раздел
Готово - система загружается
Подключиться из Windows для дешифрования раздела
Для дешифрования раздела будем использовать PUTTY и ту же пару ключей, которую создали в Linux
Копируем пару ключей (id_rsa / id_rsa.pub) из системы Linux в систему Windows, в директорию "rsa" в папке с plink.exe
Скачиваем puttygen.exe и plink.exe
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Необходимо сконвертировать приватный ключ id_rsa в формат, который поймет putty
https://www.simplified.guide/putty/convert-ssh-key-to-ppk
Запускаем puttygen
Load - выбираем приватный ключ id_rsa
Будет сообщение об успехе импорта ключа, далее:
Save private key - сохраняем файл как id_rsa.ppk (формат ключа putty) в директорию "rsa" в папке с plink.exe
Запускаем plink, указав путь к ключу id_rsa.ppk
plink.exe -batch -i .\rsa\centos7-test01-199-191\id_rsa.ppk root@192.168.199.186
... Please unlock disk sda2_crypt: ...
Вводим пароль шифрования
Готово - система загружается
Подключиться из Mikrotik routeros для дешифрования раздела
Копируем на микротик пару ключей (id_rsa / id_rsa.pub), которые создали на Linux и импортируем их
/user ssh-keys private import user=admin private-key-file=id_rsa public-key-file=id_rsa.pub passphrase=""
Подключаемся
/system ssh address=192.168.199.177 user=root
... Please unlock disk sda2_crypt: ...
Вводим пароль шифрования
Готово - система загружается
ВАРИАНТ 2. Шифрование всех разделов, включая /boot
https://cryptsetup-team.pages.debian.net/cryptsetup/encrypted-boot.html