Я снова заметил эту проблему. Он находится на гостевой системе OpenVZ. Команда tmux немедленно завершилась без каких-либо сообщений об ошибках.
Решение было:
chmod 666 /dev/ptmx
После этого изменения у меня не было подобных проблем. Это ошибка в tmux. Он должен хотя бы жаловаться на конкретную проблему.
Когда вы передаете кодовую фразу при стандартном вводе, cryptsetup считывает одну строку ввода и отбрасывает новую строку в конце этой строки, а также все последующие строки.
При передаче парольной фразы из файла с помощью --key-file
используется полное содержимое файла. Если файл содержит новую строку, парольная фраза не может совпадать с той, которая передается при стандартном вводе.
Это подробно объясняется на справочной странице cryptsetup
на NOTES ON PASSPHRASE PROCESSING FOR LUKS
. Существуют различия, такие как включение новой строки или нет, различные ограничения по размеру (, например. 512 байт для интерактивных паролей, проверьте cryptsetup --help
),...
Если вы хотите избежать этой конкретной проблемы, лучше всего создать ключевые файлы, которые также будут работать при вводе их на терминале в интерактивном приглашении cryptsetup. Это означает, что ключевой файл должен быть простой текстовой строкой и НЕ ДОЛЖЕН включать символ новой строки в конце. (Используйте echo -n
или printf "%s"
.)
Например, вы можете использовать pwgen
для создания 64-символьного пароля keyfile.txt
, который также можно ввести вручную в экстренной ситуации:
$ echo -n $(pwgen 64 1) | tee keyfile.txt
Aish6shaejongi9yug3quij7aijop7SieTh7ierahngaem8iov5isho5dae0pisu
С таким ключевым файлом не должно быть разницы в интерпретации, независимо от того, как вы передаете его в cryptsetup
. Исключением является использование неправильной раскладки клавиатуры при наборе текста. Если вы ожидаете проблем с раскладкой клавиатуры, вы можете дважды добавить парольную фразу , чтобы LUKS принял любой из них.
Это особенно важно при использовании /dev/urandom
ключевых файлов... если вы используете их неправильно, они могли прекратить обработку раньше (появляется случайный символ новой строки )и ваш пароль намного короче, чем вы верите, что это так.