
Ich habe eine mit Luks verschlüsselte Partition, die durch eine Passphrase und eine Schlüsseldatei geschützt war. Die Schlüsseldatei war für den Routinezugriff und die Passphrase befand sich in einem versiegelten Umschlag für Notfälle. Viele Monate vergingen und ich habe die Schlüsseldatei versehentlich geschreddert, sodass ich sie mithilfe der Passphrase aus dem Umschlag wiederherstellen konnte. Jetzt möchte ich wissen, dass ich zwei aktive Schlüsselsteckplätze habe, aber ich weiß nicht, welcher die nutzlose Passphrase der Schlüsseldatei und welcher meine Notfall-Passphrase enthält. Wenn ich den falschen entferne, verliere ich natürlich alle Daten auf dem Laufwerk.
#cryptsetup luksDump /dev/sda2
LUKS header information for /dev/sda2
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: 4096
MK bits: 256
MK digest: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
MK salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
MK iterations: 371000
UUID: 28c39f66-dcc3-4488-bd54-11ba239f7e68
Key Slot 0: ENABLED
Iterations: 2968115
Salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
Key material offset: 8
AF stripes: 4000
Key Slot 1: ENABLED
Iterations: 2968115
Salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
Key material offset: 264
AF stripes: 4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
Antwort1
Wie Sie festgestellt haben, können Sie mithilfe cryptsetup luksDump
von sehen, in welchen Schlüsselfächern sich Schlüssel befinden.
Sie können die Passphrase für einen bestimmten Slot überprüfen mit
cryptsetup luksOpen --test-passphrase --key-slot 0 /dev/sda2 && echo correct
Dies ist erfolgreich, wenn Sie die richtige Passphrase für Schlüsselsteckplatz 0 eingeben. Andernfalls schlägt es fehl (auch wenn die Passphrase für einen anderen Schlüsselsteckplatz korrekt ist).
Wenn Sie eine der Passphrasen vergessen haben, können Sie nur durch Eliminierung herausfinden, in welchem Slot sie sich befindet. Wenn Sie zwei der Passphrasen vergessen haben, gibt es keine Möglichkeit herauszufinden, welche welche ist (sonst wäre der Passphrase-Hash defekt).
Um die vergessene Passphrase zu entfernen, können Sie sicher cryptsetup luksKillSlot /dev/sda2 0
die Passphrase ausführen und eingeben, an die Sie sich erinnern. Um einen Schlüsselsteckplatz zu löschen, cryptsetup
ist die Passphrase für einen anderen Schlüsselsteckplatz erforderlich, zumindest wenn es nicht im Batchmodus ausgeführt wird (d. h. ohne --batch-mode
, --key-file=-
oder entsprechende Option).
Antwort2
Eine einfachere Möglichkeit (jetzt?) besteht darin, den Befehl mit der Option zu verwenden --verbose
, aber ohne --key-slot
diese anzugeben:
# cryptsetup --verbose open --test-passphrase /dev/sda2
Enter passphrase for /dev/sda2:
Key slot 4 unlocked.
Es sucht automatisch nach dem richtigen Steckplatz, ohne dass Sie lange suchen müssen, um den richtigen zu finden :)