Ecco la mia soluzione alternativa su debian, dato il bug sopra citato da @sebasth.
La mia configurazione è leggermente diversa. Ho una partizione root crittografata e un sacco di dischi raid. Per me, ho dovuto aggiungere un'opzione 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
Questo dice a update-initramfs che voglio avere queste voci crypttab montate in initramfs. Ho controllato il mio crypttab correndo
cryptdisks_start part1_crypt
cryptdisks_start part2_crypt
Nota che i miei dischi raid sono semplicemente dm-crypt. Ciò significava che non potevo usare il metodo luks keyfile che funziona attorno al bug di systemd keyscript. Per il semplice dm-crypt, dovrei archiviare la passphrase in testo semplice.
I dischi crittografati devono essere montati prima di update-initramfs
essere eseguiti; altrimenti genererà errori. Ho dovuto cercare le seguenti righe quando è stato creato il mio initramfs:
update-initramfs -k -u -v | grep 'keyctl'
che mostrava i seguenti due file:
/bin/keyctl
cryptkeyctl
viene aggiunto a initramfs.
Infine, ho dovuto disabilitare systemd gestendo il mio crypttab, per gestire il bug di cui sopra: systemd non supporta l'opzione keyscript in crypttab. Per questo, ho aggiunto l'opzione del kernel
GRUB_CMDLINE_LINUX_DEFAULT="quiet luks.crypttab=no"
su / etc / default / grub ed eseguito update-grub
. systemd ora ignora crypttab e tutte le partizioni crittografate vengono caricate in initramfs.
Poiché ho una partizione root crittografata, cryptroot non sembra memorizzare nella cache la mia chiave. Questo significa che devo inserire la mia password due volte; uno per la partizione di root e una volta per il mio array raid.
expect
script o simile che viene chiamato per montare i dischi invece di farlo fare al sistema. Invece, il sistema chiamerebbe lo script che richiederebbe la password, la memorizzerebbe e la fornirebbe a ciascuna delle operazioni di montaggio.