4

Я пытаюсь сделать так, чтобы зашифрованный корневой раздел автоматически разблокировался при загрузке с помощью подключенного USB-накопителя при новой установке Debian Jessie (без обновления без системы). После нескольких уроков в Интернете я застрял, так как он все еще запрашивает пароль сразу после загрузки. Это то, что я сделал до сих пор:

Создан ключ на 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-накопителя:

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= правильной, поскольку на самом деле это UUID для /dev/sdc1 и, очевидно, UUID для /dev/sdc , так что мне нужно туда вводить?

Кроме того, я пропустил что-нибудь еще, что помешало бы ключу на USB-накопителе разблокировать раздел? Когда я делаю cryptsetup luksDump /dev/md1 он показывает два слота для ключей, поэтому, я думаю, ключ правильно настроен.

Есть идеи?

2 ответа2

1

Я думаю, что вы почти правы. Я использовал ваши инструкции для настройки автоматической разблокировки разделов LUKS здесь, но не /. ;-)

Что мне кажется неправильным, так это UUID, который вы используете. Вы, кажется, путаете UUID с настройкой ключевого файла на USB. UUID указывает на uuid раздела LUKS, который вы хотите разблокировать. Таким образом, вы не хотите менять его из строки выше, если я не понял неправильно.

Я бы использовал вместо этого в /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

Одним из важных шагов является добавление необходимых модулей в initramfs/initcpio, чтобы ядро могло прочитать USB-ключ.

В Ubuntu я изменил /etc/initramfs-tools/modules с помощью rtsx_usb {_ms, _sdmmc,} и memstick, потому что вместо этого я использую устройство чтения карт SD . Но для ключа USB, вы будете нуждаться в usb_storage, usbhid (?), Hid_generic (?), Спрятался (?), Memstick и могут быть другие.

затем беги

sudo update-initramfs -u

и перезагрузите компьютер. Он должен работать

-1

заново создайте ключ ПОСЛЕ монтирования usb куда-то, что по сути делало кошку> /dev /null

   # sudo mount /dev/sdc /cryptusb
   # dd if=/dev/urandom of=/cryptusb/keyfile bs=512 seek=1 count=60
   #  dd if=/cryptusb/keyfile bs=512 skip=1 count=4 > tempKeyFile.bin

ИЛИ ЖЕ

   # cat  /cryptusb/keyfile > /tmp/keyfile.bin

ТОГДА используйте 'PARTUUID' из blkid для вставки в /etc/crypttab

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .