Bagaimana cara menyediakan kata sandi secara non-interaktif ke 'dmcrypt luksFormat'?

9

Saya sedang menulis skrip yang secara otomatis mengatur mesin virtual lingkungan pengujian . Script ini seharusnya secara otomatis memformat partisi dmcrypt + LUKS untuk saya, dengan frasa sandi tertentu. Karena ini adalah lingkungan pengujian lokal saya tidak peduli dengan keamanan passphrase, saya hanya ingin seluruh proses setup VM menjadi otomatis dan non-interaktif.

Bagaimana saya bisa secara non-interaktif memasok frasa sandi ke 'dmcrypt luksFormat'? Saya ingin menggunakan kata sandi, bukan kunci, karena dalam produksi kami menggunakan kata sandi untuk LUKS juga.

Hongli Lai
sumber

Jawaban:

17

Hal pertama yang harus dilakukan adalah memanggil perintah yang benar: itu cryptsetup, bukan dmcrypt.

cryptsetup luksFormat /dev/vda2

Yang kedua adalah Anda bisa meneruskan argumen lain untuk membaca frasa sandi dari file, atau dari input standar (menggunakan -).

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

Perhatikan bahwa -ntanda diperlukan echountuk mencegah agar umpan baris tidak ditambahkan ke kata sandi.

Lihat cryptsetuphalaman manual untuk cara-cara lain untuk memasukkan materi kunci.

Michael Hampton
sumber
3
Saya mengalami kesulitan membuka kunci volume setelah membuatnya dengan cara ini. Karakter baris baru membuatku tersandung. printf "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -bekerja lebih baik untukku. YMMV.
Kenny Rasschaert