テスト環境仮想マシンを自動的にセットアップするスクリプトを書いています。このスクリプトは、特定のパスフレーズを使用して、dmcrypt + LUKSパーティションを自動的にフォーマットします。これはローカルのテスト環境なので、パスフレーズのセキュリティは気にしません。VMセットアッププロセス全体を自動化して非対話型にするだけです。
「dmcrypt luksFormat」にパスフレーズを非対話的に提供するにはどうすればよいですか?キーではなくパスフレーズを使用したいのは、本番環境ではLUKSにもパスフレーズを使用するためです。
最初に行うべきことは、正しいコマンドを呼び出すことです。それはcryptsetup
ではなくdmcrypt
です。
cryptsetup luksFormat /dev/vda2
2つ目は、別の引数を渡して、ファイルまたは標準入力(-
を使用)からパスフレーズを読み取ることができることです。
echo -n "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -
-n
フラグは、改行がパスワードに追加されないようにするためにecho
に必要であることに注意してください。
キーマテリアルを渡す他の方法については、cryptsetup
のマニュアルページを参照してください。