¿Cómo suministrar de forma no interactiva una frase de contraseña para 'dmcrypt luksFormat'?

9

Estoy escribiendo un script que configura automáticamente las máquinas virtuales del entorno de prueba . Este script debería formatear automáticamente una partición dmcrypt + LUKS para mí, con una cierta frase de contraseña. Debido a que este es un entorno de prueba local, no me importa la seguridad de la frase de contraseña, solo quiero que todo el proceso de configuración de VM sea automático y no interactivo.

¿Cómo puedo proporcionar de forma no interactiva una frase de contraseña para 'dmcrypt luksFormat'? Quiero usar frases de contraseña, no claves, porque en producción también usamos frases de contraseña para LUKS.

Hongli Lai
fuente

Respuestas:

17

Lo primero que debe hacer es llamar al comando correcto: es cryptsetup, no dmcrypt.

cryptsetup luksFormat /dev/vda2

Lo segundo es que puede pasar otro argumento para leer la frase de contraseña de un archivo o de una entrada estándar (usando -).

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

Tenga en cuenta que el -nindicador es necesario echopara evitar que se agregue un avance de línea a la contraseña.

Consulte la cryptsetuppágina del manual para conocer otras formas de pasar el material clave.

Michael Hampton
fuente
3
Tuve algunas dificultades para desbloquear mi volumen después de crearlo de esta manera. El personaje de la nueva línea me estaba haciendo tropezar. printf "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -funcionó mejor para mí YMMV.
Kenny Rasschaert