1 votes

Comment déverrouiller une partition protégée par un fichier clé lorsque ce dernier se trouve sur une partition protégée par un mot de passe ?

Je voudrais décrypter automatiquement /dev/sdb3 au démarrage avec un fichier clé situé sur /dev/sda5 qui est une partition chiffrée (par phrase de passe). Par "automatiquement", j'entends "au démarrage, après avoir été invité à saisir la phrase de passe de /dev/sda5".

Je suis sur debian stretch, et j'ai actuellement cette configuration :

/etc/crypttab :

sda5_crypt UUID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa none luks
sdb3_crypt UUID=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb /etc/sdb3_key luks

/etc/fstab :

/dev/mapper/lv_sda5-lv_rootfs               /               ext4            discard,noatime,nodiratime,errors=remount-ro    0       1
UUID=cccccccc-cccc-cccc-cccc-cccccccccccc   /boot           ext2            noatime,nodiratime                              0       2
/dev/mapper/lv_sdb3-lv_home                 /home           ext4            defaults                                        0       2
/dev/mapper/lv_sdb3-lv_swap                 none            swap            sw                                              0       0

Désormais, au démarrage, on me demande ma phrase de passe pour décrypter /dev/sda5, puis j'obtiens le message suivant qui se répète pendant environ 30 secondes

WARNING : Impossible de se connecter à lvmetad. Retour à l'analyse du périphérique.

Groupe de volume "lv_sdb3" non trouvé

Impossible de traiter le groupe de volume lv_sdb3

Jusqu'à ce que je finisse par obtenir

J'ai renoncé à attendre un dispositif de suspension/reprise.

/dev/mapper/lv_sda5-lv_rootfs : clean, ...

Et mon debian démarre parfaitement, mon /home et mon SWAP étant correctement montés.

Comment puis-je y parvenir correctement ?

Modifier

Il semble que le problème vienne de lvm et ne soit pas lié à /etc/crypttab, /etc/fstab. La suppression des entrées sdb3_crypt de /etc/crypttab et /etc/fstab ne change pas la boucle du message d'erreur. (I update-initramfs y update-grub pour que ces changements soient répercutés sur le /boot/initrd)

Maintenant je me demande comment l'initramfs peut savoir qu'il existe un groupe de volume lv_sdb3. J'ai configuré use_lvmetad = 0 dans /etc/lvm/lvm.conf, exécutez pvscan --cache qui ne trouve que le groupe de volumes lv_sda5 puisque je n'ai pas ouvert la partition LUKS /dev/sdb3. Alors où l'initramfs lit-il l'information /deprecated/ sur le groupe de volume lv_sdb3 ?

0voto

Fire Points 101

Dumping /boot/initrd avec zcat révélé lv_sdb3 apparaît une fois en clair en ascii sous la forme RESUME=/dev/mapper/lv_sdb3-lv_swap

Ceci peut être supprimé en déplaçant /etc/initramfs-tools/conf.d/resume vers un répertoire de sauvegarde, puis update-initramfs -u -k all pour réécrire /boot/initrd. Maintenant le processus de démarrage se déroule sans erreur et sans la boucle qui fait perdre du temps !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X