grub2 を設定して、キーファイルを使用して luks で暗号化された / および /boot のロックを解除します。

grub2 を設定して、キーファイルを使用して luks で暗号化された / および /boot のロックを解除します。

私は使用していますオープンSUSEフルディスク暗号化とキーファイル付きのUSBデバイスを使用してシステムを復号化したいと考えています。私のシステム全体は同じ方法で暗号化されていますルクスコンテナー ( を含む/boot)。/bootは暗号化されているため、grub2 はそれを復号化するためにパスワードを要求します。 grub にパスワードを提供すると、initrd はキーファイル を使用してシステムを復号化できます/dev/disk/by-partlabel/keyが、grub は initrd フェーズに進むためにパスワードを必要とします。

パスワードが不要になるように、そのキーファイルを使用するように grub2 を構成するにはどうすればよいでしょうか?このコンピュータは ssh 経由でアクセスされ、キーボードとモニターは使用できません。必要に応じて、キー パーティションを使用する代わりに、キーファイルを適切なファイル システムに配置できます。

システムの残りの部分と共に暗号化する必要があります/boot。そうすれば、btrfs ファイルシステムの残りの部分と共にスナップショットが作成され、何かが壊れた場合にカーネルを含む OS 全体を動作状態に復元できます。

答え1

私の知る限り、この機能は公式には利用できません。

ぜひご覧くださいこのサイト: (および対応するGitリポジトリ)。

Grub cryptomount コマンドは LUKS ボリュームをマウントできます。この拡張機能は、分離ヘッダーとキーファイルのサポートによりその機能を拡張します。プレーンな DMCrypt ボリュームのサポートも追加されました。

これにより、LUKS および DMCrypt ボリュームからの起動が可能になります。LUKS ヘッダーは切り離して、リムーバブル USB キーなどの別のデバイスに保存できます。キー ファイルも同様の方法で保存され、対話型のパスフレーズ入力の代わりに使用される場合があります。

この拡張機能では、次の機能も追加されます。

  • 暗号ボリューム UUID をハイフン埋め込みの有無にかかわらず指定できるようにします。
  • 指定されたパスフレーズまたはキーファイルを使用して LUKS ボリュームのロックを解除できなかった場合に、ユーザーにパスフレーズを入力する 2 度目のチャンスを与えます。

[...]

アップストリームにパッチを適用する方法についての説明があります。 おそらく、前述の 7 つのパッチを SuSe .src.rpm に統合し、パッケージを再構築 (ビルド ツール、ソース依存関係などすべてを含む) するのが最善ですが、それはこの回答の範囲外です。

注意:

  • テストしませんでした。
  • 2018年に作業が停止したようで、フォークより最近のものです。
  • 制限:

自動構成なし

この拡張機能は、Grubの自動設定(grub-mkconfigなど)を一切変更しません。拡張オプションを使用すると、grub.cfg の手動設定が必要

関連情報