Как неинтерактивно предоставить парольную фразу для 'dmcrypt luksFormat'?

9

Я пишу скрипт, который автоматически настраивает среду тестирования виртуальных машин. Этот скрипт должен автоматически отформатировать для меня раздел dmcrypt + LUKS с определенной парольной фразой. Поскольку это локальная среда тестирования, меня не волнует безопасность парольной фразы, я просто хочу, чтобы весь процесс установки виртуальной машины был автоматизированным и неинтерактивным.

Как я могу неинтерактивно вводить фразу-пароль для 'dmcrypt luksFormat'? Я хочу использовать парольные фразы, а не ключи, потому что в производстве мы используем парольные фразы и для LUKS.

Хунли Лай
источник

Ответы:

17

Первое, что нужно сделать, это вызвать правильную команду: это cryptsetupне так dmcrypt.

cryptsetup luksFormat /dev/vda2

Во-вторых, вы можете передать другой аргумент, чтобы прочитать фразу-пароль из файла или из стандартного ввода (используя -).

echo -n "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -

Обратите внимание, что -nфлаг необходим echoдля предотвращения добавления строки к паролю.

См. cryptsetupСправочную страницу для других способов передачи ключевого материала.

Майкл Хэмптон
источник
3
У меня возникли трудности с разблокировкой тома после его создания таким образом. Персонаж новой строки сбил меня с толку. printf "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -работал лучше для меня. YMMV.
Кенни Рассчарт