web-dev-qa-db-ja.com

DebianJessieのUSBドライブのキーを使用してLUKSパーティションのロックを自動的に解除します

Debian Jessieの新規インストールで接続されたUSBドライブを使用して、起動時に暗号化されたルートパーティションのロックを自動的に解除しようとしています(systemd以外のアップグレードはありません)。 Webでいくつかのチュートリアルを実行した後、起動直後にパスフレーズを要求するため、行き詰まりました。これは私がこれまでに行ったことです:

USBドライブにキーを作成しました:

root@fls:~# dd if=/dev/urandom of=/dev/sdc bs=512 seek=1 count=60

適切な部分をキーとして一時ファイルにコピーしました。

root@fls:~# dd if=/dev/sdc bs=512 skip=1 count=4 > tempKeyFile.bin

そのキーを暗号化されたパーティション構成に追加しました。

root@fls:~# cryptsetup luksAddKey /dev/md1 --key-file=- tempKeyFile.bin

USBドライブのIDを見つけました:

root@fls:~# ls -l /dev/disk/by-id/ | grep sdc
lrwxrwxrwx 1 root root  9 usb-0_USB_DRIVE_00000000000165A3-0:0 -> ../../sdc
lrwxrwxrwx 1 root root 10 usb-0_USB_DRIVE_00000000000165A3-0:0-part1 -> ../../sdc1

/etc/crypttabを次のように変更しました:

#md1_crypt UUID=e53fc075-0afa-4018-b187-912f8f355699 none luks
md1_crypt UUID=ED04-17F5 /dev/disk/by-id/usb-0_USB_DRIVE_00000000000165A3-0:0 luks,tries=3,keyfile-size=2048,keyfile-offset=512

Systemdジェネレーターファイルを更新しました:

systemctl --system daemon-reload

そのUUID=エントリが正しいかどうかはわかりません。これは、実際には/dev/sdc1のUUIDであり、 明らかに存在しない/dev/sdcのUUIDであるためです。そこに何を入力する必要がありますか?

また、USBドライブのキーがパーティションのロックを解除するのを妨げる何かを見逃しましたか? cryptsetup luksDump /dev/md1を実行すると、2つのキースロットが表示されるので、キーは適切に構成されていると思います。

何か案は?

4
mcnesium

あなたはほぼ正しいと思います。ここでLUKSパーティションの自動ロック解除をセットアップするためにあなたの指示を使用しましたが、/ではありません。 ;-)

私には間違っているように思われるのは、使用する[〜#〜] uuid [〜#〜]です。 UUIDをUSB上のキーファイルの設定と混同しているようです。 UUIDは、ロックを解除するLUKSパーティションのuuidを指します。ですから、私が誤解しない限り、上の行から変更したくないでしょう。

代わりに/etc/crypttabで使用します:

md1_crypt UUID=e53fc075-0afa-4018-b187-912f8f355699 /dev/disk/by-id/usb-0_USB_DRIVE_00000000000165A3-0:0 luks,tries=3,keyfile-size=2048,keyfile-offset=512

重要なステップの1つは、必要なモジュールinitramfs/initcpioに追加して、カーネルがUSBキーを読み取れるようにすることです。

Ubuntuで、/etc/initramfs-tools/modulesrtsx_usb {_ms、_sdmmc、}memstickSDカードリーダーを使用しているため代わりに。ただし、USBキーの場合、usb_storageusbhid(? )、hid_generic(?)、hid(?)、memstickそして他の人かもしれません。

次に実行します

Sudo update-initramfs -u

再起動します。動作するはずです

1
solsTiCe