
암호와 키 파일로 보호되는 Luks 암호화 파티션이 있습니다. 키 파일은 일상적인 액세스를 위한 것이었고 비밀번호 문구는 긴급 상황을 대비해 봉인된 봉투에 들어 있었습니다. 5월이 지나고 실수로 키파일을 파쇄해서 봉투에 들어있는 비밀번호를 이용해 복구했습니다. 이제 알고 싶습니다. 두 개의 활성 키 슬롯이 있지만 쓸모 없는 키 파일 암호 문구가 포함된 슬롯과 비상 암호 문구가 포함된 슬롯이 무엇인지 알 수 없습니다. 분명히 잘못된 것을 제거하면 드라이브의 모든 데이터가 손실됩니다.
#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
답변1
발견한 대로 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=-
.
답변2
--verbose
더 간단한 방법(현재?)은 옵션을 지정하지 않고 옵션 과 함께 명령을 사용하는 것입니다 --key-slot
.
# cryptsetup --verbose open --test-passphrase /dev/sda2
Enter passphrase for /dev/sda2:
Key slot 4 unlocked.
좋은 슬롯을 찾기 위해 반복할 필요 없이 자동으로 올바른 슬롯을 확인합니다. :)