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

cryptsetup luksOpen ключевой файл не работает

Я получаю "С этой кодовой фразой нет ключа."при попытке:

sudo cryptsetup open --type luks /dev/sdc storage --key-file=/path/to/keyfile

В /path/to/keyfile файл содержит только кодовую фразу в виде обычного текста.

Если я войду тот же самый пароль при интерактивном запросе:

sudo cryptsetup open --type luks /dev/sdc storage

тогда это работает.

Почему бы --key-file не работает в этом случае? Это Ubuntu 14.04 @ Linux 3.13.0-68.

Я предполагаю, что у вас есть завершающий символ новой строки в конце вашего ключевого файла. Он будет использоваться как часть ключа, поэтому вам нужно будет его удалить.

Вы можете попробовать

perl -pi -e 'chomp if eof' /path/to/file

удалить его. например

Ключевой файл с текстом

fred\n

Мы можем использовать od чтобы увидеть содержимое файла

od -x keyfile
0000000 7266 6465 000a
0000005

затем после того, как на нем будет запущен скрипт perl

od -x keyfile
0000000 7266 6465
0000004

Вы неверно истолковали использование --key-file. Ключевой файл - это файл с данными (обычно случайными данными), который используется для разблокировки носителя, а не файл, в котором пароль хранится в виде простого текста.
Таким образом, вы должны создать ключевой файл, а затем добавить этот ключевой файл в качестве ключа для разблокировки носителя. Затем вам необходимо сохранить этот ключевой файл в безопасности, чтобы обезопасить свой зашифрованный носитель. Один из способов создания и добавления ключевого файла можно найти здесь: Инструкция HowToForge