objectif
Ré-encrypter un volume LUKS2 et remplacer la clé sans copier les données ailleurs.
code minimal
DEV=/dev/nvme0n1p3
# 1) sauvegarder l'en-tête avant toute opération
sudo cryptsetup luksHeaderBackup "$DEV" --header-backup-file header.img
# 2) ajouter la nouvelle clé (slot libre requis)
sudo cryptsetup luksAddKey "$DEV" /root/new.key
# 3) ré-encryption in-place (LUKS2 requis)
sudo cryptsetup reencrypt --encrypt --key-file /root/old.key --new-key-file /root/new.key "$DEV"
utilisation
# reprendre après interruption
sudo cryptsetup reencrypt --resume "$DEV"
# état
sudo cryptsetup status "$DEV" || true
variante(s) utile(s)
# rotation de clé sans ré-encryption des données (plus rapide)
sudo cryptsetup luksKillSlot "$DEV" 0 # après ajout et test de la nouvelle clé
notes
- nécessite LUKS2; vérifiez avec
cryptsetup luksDump. - la ré-encryption est longue; utilisez un onduleur et sauvegardez
header.img.