У меня есть зашифрованный раздел 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
luksKillSlot
запрашивает парольную фразу из другого слота, поэтому нет риска уничтожить последний ключ, который у вас есть. Тем не менее, я считаю, что первоначальный вопрос остается в силе.Ответы:
Как вы обнаружили, вы можете использовать,
cryptsetup luksDump
чтобы увидеть, какие слоты имеют ключи.Вы можете проверить кодовую фразу для определенного слота с
Это будет успешно выполнено, если вы введете правильную фразу-пароль для слота ключа 0, и не получится иначе (в том числе, если пароль-пароль верен для какого-то другого слота ключа).
Если вы забыли одну из парольных фраз, то вы можете найти только то, в каком слоте она находится, путем исключения, а если вы забыли две парольные фразы, то нет никакого способа определить, какой именно (в противном случае хэш парольной фразы будет разбит).
Чтобы удалить забытую фразу-пароль, вы можете безопасно запустить
cryptsetup luksKillSlot /dev/sda2 0
и ввести фразу-пароль, которую вы помните. Протереть шпоночный паз,cryptsetup
требует ключевой фразы для другого ключевого паза, по крайней мере , когда он не работает в пакетном режиме (т.е. нет--batch-mode
,--key-file=-
или эквивалентный вариант).источник
Более простой способ (сейчас?) - использовать команду с
--verbose
параметром, но без указания--key-slot
:Он автоматически проверит для вас правильный слот, не заставляя вас искать подходящий :)
источник