AlmaLinux 8. Установка ОС на зашифрованный раздел. Расшифровка по сети
Описание
Установка AlmaLinux 8 на зашифрованный раздел. Подключение зашированного системного раздела перед загрузкой ОС по сети через SSH
Ссылки
https://github.com/gsauthof/dracut-sshd
https://forums.centos.org/viewtopic.php?t=72465
Настройка
На клиенте Linux (отсюда будем подключать зашифрованный раздел по сети через SSH)
Для начала создадим пару ключей (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-copy-id -i ~/.ssh/id_rsa.pub root@192.168.199.176
На сервере AlmaLinux 8 (системный раздел которого мы шифруем)
Устанавливаем AlmaLinux 8 штатно с шифрованными разделами: ROOT, SWAP (И HOME)
dnf copr enable -y gsauthof/dracut-sshd
dnf install -y dracut-sshd mc nano
nano /etc/default/grub
... GRUB_CMDLINE_LINUX="<...> rd.neednet=1 ip=dhcp" ...
- ИЛИ -
... GRUB_CMDLINE_LINUX="<...> rd.neednet=1 ip=192.168.199.176::192.168.199.1:255.255.255.0:::off:192.168.199.1:77.88.8.8" ...
dracut -f -v
reboot
После перезагрузки на Виртуальных Машиных модет быть задержка до открытия 22 порта dracut-initramfs до 2-х минут!
Подключение для дешифрования раздела
Linux
Подключаемся с клиента, publickey которого внесли в authorized_keys.
Когда будет запрос пароля на подключение шифрованных разделов пароль root SSH сервера не будет запрашиваться, так как мы добавили publickey клиента на сервер.
Публичный ключ id_rsa.pub, после его внесения в /root/.ssh/authorized_keys на сервере, необязательно использовать только с клиента, на котором мы его создали.
Можно перенести ключ на любую Linux машину и использовать эту машину для подключения к серверу.
По-умолчанию при использовании ssh-клиента, система ищет ключи в ~/.ssh
Указать путь к паре ключей (id_rsa / id_rsa.pub) вручную также можно опцией -i
ssh -i /root/rsa/id_rsa root@192.168.199.222
... Passphrase: ...
Вводим пароль на шифрованный раздел
Готово - система загружается
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
... Passphrase: ...
Вводим пароль шифрования
Готово - система загружается
Mikrotik
Копируем на микротик пару ключей (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.222 user=root
... Passphrase: ...
Вводим пароль шифрования
Готово - система загружается