web-dev-qa-db-ja.com

Grub2 / LUKSパスフレーズを2回入力するのを避ける方法は?

私は最新のOpenSUSE Tumbleweedを使用しています このガイド は私にとってはうまくいきませんでした。

新しいランダムキーを生成せずにハードディスクに追加した以外は、ガイドと同じようにすべてを行いましたが、いつも使用していたパスフレーズを使用して/.root.keyに書き込みました。

しかし、私はまだパスワードの入力を求められますが、cryptsetupなど、SSDと同じパスフレーズを使用する他のすべてのHDDで自動的に試行できるほど賢いようです。そのため、Grubに入力する必要があります。その後、起動中にもう一度SSDのロックを解除するように求められます。

/.root.keyがinitramfsに追加されているかどうかを確認するにはどうすればよいですか?

3
redanimalwar

新しいランダムキーを生成せずにハードディスクに追加した以外は、ガイドと同じようにすべて行いましたが、いつも使用していたパスフレーズを使用し、それをファイルに書き込みました。

ファイル内のパスフレーズは問題​​なく機能しますが、必須ではありません末尾に改行があります。

--key-fileオプションで機能することを確認します。

cryptsetup open --verbose --key-file yourfile --test-passphrase /dev/yourdevice

/.root.keyがinitramfsに追加されているかどうかを確認するにはどうすればよいですか?

lsinitrdlsinitramfslsinitcpioのいずれかを使用するか、自分で解凍します。

mkdir /tmp/initramfs
cd /tmp/initramfs
gunzip < /boot/initrd.gz | cpio -div -H newc --no-absolute-filenames

このコマンドは、たとえばgzip圧縮ではなく、xzなどです。必要に応じて調整してください。

または、initrdによって緊急シェルに移動した場合、もちろんそれを使用してinitrd状態を調べることもできます。

ls -al
hexdump -C .root.key # or similar

cryptsetupなど、SSDと同じパスフレーズを使用する他のすべてのHDDを自動的に試すのに十分な機能があるようです

これはsystemdの機能です systemd-ask-password --accept-cachedaccept cached passwords、つまり、以前に入力されたパスワード)。多分それは同様に他のinitramfsのフレーバーへの道を見つけました。これは良い解決策です。パスフレーズを2回入力することは、それでもいくらか許容され、10回続けて入力することです...

すべてのディストリビューションがこの機能を使用しているわけではなく、ガイドで概説されているように、キーファイルアプローチと連携しているかどうかはわかりません。自分でデバッグする必要があります。

4
frostschutz