web-dev-qa-db-ja.com

「dmcrypt luksFormat」にパスフレーズを非対話的に提供する方法は?

テスト環境仮想マシンを自動的にセットアップするスクリプトを書いています。このスクリプトは、特定のパスフレーズを使用して、dmcrypt + LUKSパーティションを自動的にフォーマットします。これはローカルのテスト環境なので、パスフレーズのセキュリティは気にしません。VMセットアッププロセス全体を自動化して非対話型にするだけです。

「dmcrypt luksFormat」にパスフレーズを非対話的に提供するにはどうすればよいですか?キーではなくパスフレーズを使用したいのは、本番環境ではLUKSにもパスフレーズを使用するためです。

9
Hongli Lai

最初に行うべきことは、正しいコマンドを呼び出すことです。それはcryptsetupではなくdmcryptです。

cryptsetup luksFormat /dev/vda2

2つ目は、別の引数を渡して、ファイルまたは標準入力(-を使用)からパスフレーズを読み取ることができることです。

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

-nフラグは、改行がパスワードに追加されないようにするためにechoに必要であることに注意してください。

キーマテリアルを渡す他の方法については、cryptsetupのマニュアルページを参照してください。

15
Michael Hampton