Назад | Перейти на главную страницу

luks ошибка ввода-вывода при расшифровке слота ключей

Я пытаюсь использовать cryptsetup для шифрования некоторых разделов, но получаю сообщение об ошибке IO error while decrypting keyslot.

Команда и вывод:

root@rescue ~ # cryptsetup --debug --verbose --cipher aes-xts-plain64 --key-size 256 --hash sha256 --iter-time 6000 luksFormat  /dev/sda3
# cryptsetup 1.6.6 processing "cryptsetup --debug --verbose --cipher aes-xts-plain64 --key-size 256 --hash sha256 --iter-time 6000 luksFormat /dev/sda3"
# Running command luksFormat.
# Locking memory.
# Installing SIGINT/SIGTERM handler.
# Unblocking interruption on signal.

WARNING!
========
This will overwrite data on /dev/sda3 irrevocably.

Are you sure? (Type uppercase yes): YES
# Allocating crypt device /dev/sda3 context.
# Trying to open and read device /dev/sda3.
# Initialising device-mapper backend library.
# Timeout set to 0 miliseconds.
# Iteration time set to 6000 miliseconds.
# Interactive passphrase entry requested.
Enter passphrase: 
Verify passphrase: 
# Formatting device /dev/sda3 as type LUKS1.
# Crypto backend (gcrypt 1.6.3) initialized.
# Detected kernel Linux 4.9.85 x86_64.
# Topology: IO (512/0), offset = 0; Required alignment is 1048576 bytes.
# Checking if cipher aes-xts-plain64 is usable.
# Using userspace crypto wrapper to access keyslot area.
IO error while decrypting keyslot.
# Releasing crypt device /dev/sda3 context.
# Releasing device-mapper backend.
# Unlocking memory.
Command failed with code 5: IO error while decrypting keyslot.

Я нашел код, который вызывает эту ошибку, Вот, но это не дает мне никакого представления.

Как видно из вывода, раздел форматируется, но ключевой слот не записывается.

/ dev / sda - это raid-массив 3ware, таблица разделов была записана на устройство установщиком debian. Я обнаружил (по ошибке), что могу создать контейнер LUKS на всем устройстве, но это не жизнеспособный обходной путь для меня, потому что это единственное устройство хранения на сервере, и мне нужен незашифрованный / загрузочный раздел.

Я понял это до команды в моем вопросе, я пробовал то же самое, указывая раздел с помощью uuid, что-то вроде:

cryptsetup <options> luksFormat /dev/disk/by-uuid/<disk uuid>

во время этой операции uuid изменится. Я не понимаю мелочи, но в итоге я получил поврежденную таблицу разделов.