No Ubuntu, é possível usar uma chave derivada da raiz como uma chave adicional em outros sistemas de arquivos. Isso tem a vantagem de manter sua chave para as outras unidades fora do próprio sistema de arquivos.
Antes de fazer isso, primeiro, certifique-se de que / tmp está montado apenas na memória 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
Em seguida, 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 estiver desbloqueada para desbloquear o restante dos dispositivos de bloco e disponibilizá-los de maneira semelhante em / dev / mapper. Não tenho certeza se eles exigem entradas do / etc / crypttab - experimente-os sem primeiro, e se eles não aparecerem, coloque-os no crypttab sem uma chave e ele deverá desbloqueá-los.
(Eu não testei nada disso.)