A solução parece ser bastante simples, e é uma espécie de descrição em Como configurar o LVM & amp; LUKS para autodecrypt partição?
Veja como eu consegui fazer isso
Minha partição / boot é / dev / sda1
Meu volume LVM que eu quero descriptografar é / dev / sda3
Eu era o root, mas se você não está anexando o sudo a todos os comandos.
Comece fazendo um arquivo-chave com uma senha (eu gero um pseudo-aleatório)
dd if=/dev/urandom of=/boot/keyfile bs=1024 count=4
Em seguida, defina a permissão de leitura para raiz e nada para mais ninguém
chmod 0400 /boot/keyfile
Em seguida, adicione o arquivo de chaves como uma chave de desbloqueio
cryptsetup -v luksAddKey /dev/sda3 /boot/keyfile
(Você será solicitado a digitar a senha de criptografia)
Encontre o uuid da partição / boot com (este não requer que você seja root)
ls -l /dev/disk/by-uuid/
Aqui está um exemplo de como é a aparência (não é a saída real quando eu peguei isso de outra máquina)
test@test:~$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 15 03:36 025c66a2-c683-42c5-b17c-322c2188fe3f -> ../../sda2
lrwxrwxrwx 1 root root 10 Jan 15 03:36 9e7a7336-3b81-4bbe-9f1a-d43415df1ccb -> ../../sda1
Em seguida, edite o arquivo / etc / crypttab com o seu editor favorito
nano /etc/crypttab
O conteúdo será parecido com algo (mais uma vez, isso é de outra máquina)
sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f none luks,discard
O que você quer fazer é querer substituir none por / dev / disk / by-uuid / [o uuid da partição / boot] e você deseja substituir descartar com keyscript = / lib / cryptsetup / scripts / passdev
O resultado deve ser parecido com isto
sda3_crypt UUID=025c66a2-c683-42c5-b17c-322c2188fe3f /dev/disk/by-uuid/9e7a7336-3b81-4bbe-9f1a-d43415df1ccb luks,keyscript=/lib/cryptsetup/scripts/passdev
Salve o arquivo e continue atualizando o initramfs
update-initramfs -u
É isso aí, agora você pode reiniciar.
reboot
Para removê-lo novamente (como eu queria)
Primeiro, confirmo que existem apenas duas chaves para o sistema (o original e o novo arquivo-chave)
cryptsetup luksDump /dev/sda3 | grep BLED
Isso gerará uma saída semelhante a esta
Key Slot 0: ENABLED
Key Slot 1: ENABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Para excluir a chave no key slot 1 (o arquivo-chave)
cryptsetup luksKillSlot /dev/sda3 1
Você será solicitado a digitar a senha de criptografia (a original, não a senha do arquivo-chave)
Em seguida, exclua o arquivo de chaves real
rm /boot/keyfile
Atualize o initramfs novamente
update-initramfs -u
Agora, quando você reiniciar, será solicitada uma senha novamente. Você está feito.
reboot