No ubuntu, é possível usar uma chave derivada da raiz como uma chave adicional em outros sistemas de arquivos. Isso tem o benefício de manter sua chave para as outras unidades fora do próprio sistema de arquivos.
Antes de fazer isso, primeiro, verifique se o / tmp está montado apenas no RAM! Sugiro o modo de usuário único para essa alteração.
mount -t ramfs none /tmp
Em seguida, você pode exportar a chave derivada:
# 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
E adicione-o ao seu (s) outro (s) dispositivo (s):
# 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
Isso permitirá que os scripts init do ubuntu usem a chave derivada quando a raiz for desbloqueada para desbloquear o restante dos dispositivos de bloco e disponibilizá-los da mesma forma em / dev / mapper. Não tenho certeza se eles exigem entradas / etc / crypttab - experimente-as sem primeiro e, se não aparecerem, coloque-as no crypttab sem uma chave e deverá desbloqueá-las.
(Eu não testei nada disso.)