В Ubuntu можно использовать производный ключ от корня в качестве дополнительного ключа в других файловых системах. Это позволяет сохранить ключ для других дисков вне самой файловой системы.
Прежде чем делать это, сначала убедитесь, что / tmp установлен только на оперативной памяти! Я предлагаю однопользовательский режим для этого изменения.
mount -t ramfs none /tmp
Затем вы можете экспортировать полученный ключ:
# replace vda5_crypt with the cryptsetup name of your root luks
# have a look in /dev/mapper or 'pvdisplay' to find it...
/lib/cryptsetup/scripts/decrypt_derived vda5_crypt > /tmp/key
А затем добавьте его на другое устройство (устройства):
# use your own disks here instead of sdb1 sdc1 sdd1 etc
cryptsetup luksAddKey /dev/sdb1 /tmp/key
cryptsetup luksAddKey /dev/sdc1 /tmp/key
cryptsetup luksAddKey /dev/sdd1 /tmp/key
rm /tmp/key
Это позволит сценариям инициализации ubuntu использовать производный ключ после разблокировки корня, чтобы разблокировать остальные блочные устройства и сделать их доступными аналогичным образом в / dev / mapper. Я не уверен, требуют ли они записи в / etc / crypttab - попробуйте их без первого, а если они не появятся, поместите их в crypttab без ключа, и он должен разблокировать их.
(Я не проверял ничего из этого.)