Oricoケース内のHDDドライブにUSB経由でRaspberry Piが接続されており、別々の電源があります。次のコマンドを使用してドライブを暗号化しました。
cryptsetup luksFormat /dev/sda
次に、次のコマンドを使用してキーファイルを作成しました。
dd if=/dev/random bs=32 count=1 of=/home/ubuntu/luks/luks.key
次のコマンドを使用して、このファイルを2番目のキーとして追加します。
cryptsetup luksAddKey /dev/sda /home/ubuntu/luks/luks.key
次の行を次に追加します/etc/crypttab
。
vault /dev/sda none
システムの起動中にドライブのパスワードが自動的に復号化されるようにするすべての措置を講じたと思いましたが、そのようなことは起こりませんでした。再起動するたびにこれを手動で実行する必要があります。私を悩ませるもう一つのことは出力ですcryptsetup luksDump /dev/sda
。 2 つのスロットが「有効」になると予想されますが、出力には表示されません。
ubuntu@ubuntu:~$ sudo cryptsetup luksDump /dev/sda
sudo: unable to resolve host ubuntu: Temporary failure in name resolution
LUKS header information
Version: 2
Epoch: 4
Metadata area: 16384 [bytes]
Keyslots area: 16744448 [bytes]
UUID: ab24c6e5-9286-4e6d-a874-29755338afa1
Label: (no label)
Subsystem: (no subsystem)
Flags: (no flags)
Data segments:
0: crypt
offset: 16777216 [bytes]
length: (whole device)
cipher: aes-xts-plain64
sector: 512 [bytes]
Keyslots:
0: luks2
Key: 512 bits
Priority: normal
Cipher: aes-xts-plain64
Cipher key: 512 bits
PBKDF: argon2i
Time cost: 4
Memory: 270573
Threads: 4
Salt: b8 50 50 6c b2 54 45 ea 36 45 66 1d 61 d1 e9 94
87 7c 67 d3 a8 f3 3b 54 04 b6 46 7b 25 0d d2 89
AF stripes: 4000
AF hash: sha256
Area offset:32768 [bytes]
Area length:258048 [bytes]
Digest ID: 0
1: luks2
Key: 512 bits
Priority: normal
Cipher: aes-xts-plain64
Cipher key: 512 bits
PBKDF: argon2i
Time cost: 4
Memory: 268825
Threads: 4
Salt: 55 e6 be a8 55 45 61 3c 1b 6e 6d 7a b3 70 40 32
fc 4f 95 71 f0 13 52 c7 a1 69 cb 73 66 0b a9 6f
AF stripes: 4000
AF hash: sha256
Area offset:290816 [bytes]
Area length:258048 [bytes]
Digest ID: 0
Tokens:
Digests:
0: pbkdf2
Hash: sha256
Iterations: 39527
Salt: 62 9b 83 b6 04 f3 b0 aa 36 21 bc bf 28 aa 1d 3c
ad 89 8a 5c 0d 7a d2 f4 0f 6e d4 09 b2 33 0b d4
Digest: 45 42 fc 30 22 95 12 26 3f 78 8c 56 d7 b0 c3 d9
10 4e 32 99 93 3c 10 48 a3 df ab 89 77 89 14 1f
この問題がUSBドライブで接続されたHDDに関連している可能性があると思いますか?前述のように、このLUKSボリュームを手動で開くと問題はありません。この問題をデバッグするのに役立ちます。
答え1
にキーファイルを指定する必要があります/etc/crypttab
。ここに入れるとnone
「パスワードリクエスト」と解釈されます。
からman crypttab
:
3番目のフィールドは暗号化パスワードを指定します。このフィールドが存在しない場合、またはパスワードが「none」または「-」に設定されている場合は、システム起動中にパスワードを手動で入力する必要があります。それ以外の場合、このフィールドは暗号化されたパスワードを含むファイルの絶対パスとして解釈されます。
これはluksAddKey
、LUKSデバイスに新しいパスワードのないキースロットを追加したり、新しいパスワードで保護された新しいキースロットを追加したり、ファイルから読み取ったパスワードを追加したりするわけではありません。構文/home/ubuntu/luks/luks.key
- これはキー/ dmではありません。 LUKSで使用されるcryptは、LUKSデバイスのロックを解除/開くために必要な「バイナリパスワード」にすぎません。
crypttabエントリを次のように変更します。
vault /dev/sda /home/ubuntu/luks/luks.key
これで問題が解決します。
出力はluksDump
良好です。 LUKS バージョン 2 に変更され、ラインは印刷されなくなりますKey Slot X: ENABLED/DISABLED
(LUKS 2 の場合は LUKS 1 に対して印刷を続けます)。