Aquí está mi solución en Debian, dado el error al que hace referencia anteriormente @sebasth.
Mi configuración es ligeramente diferente. Tengo una partición raíz encriptada y un montón de discos RAID. Para mí, tuve que agregar una opción initramfs al crypttab:
<target> <source> <keyfile> <options>
part1_crypt /dev/disk/... crypt_disks plain,cipher=aes-xts-plain64,keyscript=decrypt_keyctl,initramfs
part2_crypt /dev/disk/... crypt_disks plain,cipher=aes-xts-plain64,keyscript=decrypt_keyctl,initramfs
Esto le dice a update-initramfs que quiero tener estas entradas crypttab montadas en initramfs. Verifiqué mi ficha de cifrado ejecutando
cryptdisks_start part1_crypt
cryptdisks_start part2_crypt
Tenga en cuenta que mis discos de incursión son simples dm-crypt. Esto significaba que no podía usar el método de archivo de claves de luks que funciona alrededor del error del script del sistema. Para dm-crypt simple, tendría que almacenar la frase de contraseña en texto sin formato.
Los discos cifrados deben montarse antes de update-initramfs
ejecutarse; de lo contrario arrojará errores. Tuve que buscar las siguientes líneas cuando se creó mi initramfs:
update-initramfs -k -u -v | grep 'keyctl'
que mostró los siguientes dos archivos:
/bin/keyctl
cryptkeyctl
siendo agregado a initramfs.
Finalmente, tuve que deshabilitar systemd manejando mi crypttab, para lidiar con el error mencionado anteriormente: systemd no soporta la opción keycript en crypttab. Para esto, agregué la opción de kernel
GRUB_CMDLINE_LINUX_DEFAULT="quiet luks.crypttab=no"
a / etc / default / grub y se ejecutó update-grub
. systemd ahora ignora crypttab, y todas las particiones encriptadas se cargan en initramfs.
Debido a que tengo una partición raíz encriptada, cryptroot no parece almacenar en caché mi clave. Esto significa que tengo que ingresar mi contraseña dos veces; uno para la partición raíz y una vez para mi matriz de incursiones.
expect
script o similar que se llame para montar los discos en lugar de que el sistema lo haga. En cambio, el sistema llamará al script que solicitará la contraseña, la almacenará y la proporcionará a cada una de las operaciones de montaje.