Я получаю "С этой кодовой фразой нет ключа."при попытке:
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