Initramfs + Luks - только одна подсказка пароля

Чего я хочу достигнуть:

  • Будучи попросившимся пароля, только однажды в течение времени начальной загрузки;
  • Другие (некорневые) разделы для использования файла ключей в /root/ каталог.

Чего я достиг до сих пор:

  • (A) Системная начальная загрузка, но просьба о пароле дважды (однажды для /, и однажды для /usr).
  • Или: (B) система, не загружающаяся, прося пароль однажды, но затем отказываясь от монтирования /usr высказывание его не может, нашел группу/объем LVM. Я отбрасываюсь, чтобы окружить, и видеть это /root/.keyfile недоступно. / еще не был смонтирован.

Конфигурация

Файл: /etc/crypttab

Случай A

sdc3_crypt /dev/sdc3 none luks md0_crypt /dev/md0 none luks

Случай B

sdc3_crypt /dev/sdc3 none luks md0_crypt /dev/md0 /root/.keyfile luks

Что полностью не работало

  • Создание файлов сценария к вручную luksOpen необходимый диск: те, которые в /etc/initramfs-tools/scripts/local-premount названы прежде / доступно, но те, которые в /etc/initramfs-tools/scripts/local-bottom названы после того, как это захочет открыться /usr (и поэтому слишком поздно).
2
задан 15 June 2015 в 00:52

1 ответ

На этой странице Wiki (на немецком языке, я печально не нашел эквивалент на английском языке) предложено использовать сценарий /lib/cryptsetup/scripts/decrypt_derived генерировать ключ от открытого корневого устройства. Я попытаюсь перевести важные части, но я НЕ попробовал процедуру.

Для добавления ключа необходимо было бы выполниться (как корень)

mkdir /mnt/ram && mount -t ramfs -o size=1m ramfs /mnt/ram && chmod 600 /mnt/ram
/lib/cryptsetup/scripts/decrypt_derived <root_dev> > /mnt/ram/tmp.key && cryptsetup luksAddKey <usr_dev> /mnt/ram/tmp.key && rm /mnt/ram/tmp.key
umount /mnt/ram && rmdir /mnt/ram 

где <root_name> название Вашего корневого устройства, как отображено в /dev/mapper (вероятно, sdc3_crypt), и <usr_dev> устройство, где /usr идет (вероятно, /dev/md0).

Строка для crypttab

  <usr_name>         UUID=<UUID>          <root_name>           luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived

не забудьте работать

update-initramfs -u -k all 

после изменения crypttab.

Необходимо сохранить "нормальный" пароль для usr устройства, иначе Вы не сможете открыть его в случае, если Ваше корневое устройство повреждено.

0
ответ дан 3 December 2019 в 00:19

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

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