正しいパスワードが複数あり、luksスロットを使用しますが、どのパスワードがどのスロットに属しているかわからない(悪い)状況にあります。
暗号化(crypttabのおかげで起動中)はうまく機能しますが、どのスロットがすでに使用されているかはわかりません。このような状況を合理化するため、すでに使用されているLuksスロットを確認する方法はありますか?
~からこの問題私は読んだ:
パスワードの1つを忘れた場合は、削除によってのみそのパスワードの場所を知ることができますが、パスワードの2つを忘れた場合はどちらが何であるかわかりません(それ以外の場合はパスワードハッシュが破損します)。
...それで、マニュアルページで破損したパスワードハッシュへの参照が見つからなかったにもかかわらず、すべてのパスワードに対してすべてのスロットをテストするのは少し怖いです。
注:幸いなことに、最初のLuksスロットが知られているので、他のスロットをリセットして再び立ち上げることができます。
答え1
開かれた LUKS コンテナは、どのキーウェイで開かれたのかわかりません。したがって、いいえ。後でどのスロットが「使用」されるかを確認することはできません。
ただし、有効なキーやパスワードがわかっている場合、またはオプションの再実行などをcryptsetup open
使用して、そのキーまたはパスワードがどのスロットにあるかを確認できます。--test-passphrase
--key-slot
--verbose
通常の操作(情報が少ない):
# cryptsetup open --test-passphrase luks.img
Enter passphrase for foobar.img: first
# cryptsetup open --test-passphrase luks.img
Enter passphrase for foobar.img: second
# cryptsetup open --test-passphrase luks.img
Enter passphrase for foobar.img: third
詳細な作業(どのキーホームが使用されているかを教えてください):
# cryptsetup --verbose open --test-passphrase luks.img
Enter passphrase for foobar.img: first
Key slot 0 unlocked.
Command successful.
# cryptsetup --verbose open --test-passphrase luks.img
Enter passphrase for foobar.img: second
Key slot 1 unlocked.
Command successful.
# cryptsetup --verbose open --test-passphrase luks.img
Enter passphrase for foobar.img: third
Key slot 2 unlocked.
Command successful.
特定のキースロット操作(スロットに保存されているキーのみ許可):
# cryptsetup open --tries 1 --test-passphrase --key-slot 2 luks.img
Enter passphrase for luks.img: first
No key available with this passphrase.
# cryptsetup open --tries 1 --test-passphrase --key-slot 2 luks.img
Enter passphrase for luks.img: second
No key available with this passphrase.
# cryptsetup open --tries 1 --test-passphrase --key-slot 2 luks.img
Enter passphrase for luks.img: third
一般に、詳細モードは十分な情報を提供しますが、重複したパスワードフレーズ(2つの別々のスロットに格納されている同じキー)を探している場合は、キースロットを直接指定すると便利です。 1つのスロットだけをテストすることは、すべてのスロットをテストするよりも高速です(ただし、LUKSの開放速度を最適化することは別のトピックです)。