Luks
確定密碼在哪個 luks 插槽中
我有一個受密碼片語和密鑰文件保護的 luks 加密分區。密鑰文件用於例行訪問,密碼放在密封的信封中以備不時之需。五月過去了,我不小心撕碎了密鑰文件,所以我使用信封中的密碼恢復了。現在我想知道,我有兩個活動密鑰槽,但我不知道哪個包含無用的密鑰文件密碼,哪個包含我的緊急密碼。顯然,如果我刪除了錯誤的,我將失去驅動器上的所有數據。
#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
正如您所發現的,您可以使用
cryptsetup luksDump
來查看哪些鍵槽有鍵。您可以使用以下命令檢查特定插槽的密碼
cryptsetup luksOpen --test-passphrase --key-slot 0 /dev/sda2 && echo correct
如果您為密鑰槽 0 輸入正確的密碼,則此操作成功,否則失敗(包括其他密鑰槽的密碼是否正確)。
如果您忘記了其中一個密碼片語,那麼您只能通過消除找到它所在的插槽,如果您忘記了兩個密碼片語,則無法分辨哪個是哪個(否則密碼片語雜湊會被破壞)。
要刪除您忘記的密碼,您可以安全地執行
cryptsetup luksKillSlot /dev/sda2 0
並輸入您記住的密碼。要擦除密鑰槽,cryptsetup
需要不同密鑰槽的密碼,至少在它未以批處理模式執行時(即 no--batch-mode
或--key-file=-
等效選項)。