Desbloqueia automaticamente a partição LUKS usando uma chave em uma unidade USB no Debian Jessie

4

Eu estou tentando ter a partição raiz criptografada desbloqueada na inicialização automaticamente usando uma unidade USB conectada em uma nova instalação do Debian Jessie (sem atualização não-systemd). Depois de seguir alguns tutoriais na Web, estou preso, pois ele ainda pede a frase secreta logo após a inicialização. Isso é o que eu fiz até agora:

Criamos a chave na unidade USB:

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

Copiou a parte apropriada como a chave em um arquivo temporário:

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

Adicionada essa chave à configuração da partição criptografada:

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

Descobriu o ID da unidade 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 foi alterado assim:

#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

Atualizado os arquivos do gerador do systemd:

systemctl --system daemon-reload

Não tenho certeza se a entrada UUID= está correta, já que na verdade é o UUID de /dev/sdc1 e aparentemente não haverá um UUID para /dev/sdc , então o que devo inserir ai?

Além disso, eu senti falta de mais alguma coisa que impediria que a chave na unidade USB desbloqueie a partição? Quando eu faço cryptsetup luksDump /dev/md1 ele mostra dois Key Slots, então a chave está configurada corretamente, eu acho.

Alguma idéia?

    
por mcnesium 26.05.2015 / 18:01

2 respostas

1

Eu acho que você está quase certo. Eu usei suas instruções para configurar o desbloqueio automático de partições LUKS aqui, mas não /. ; -)

O que parece errado para mim é o UUID que você usa. Você parece confundir o UUID com a configuração do keyfile no USB. o UUID aponta para o uuid da partição LUKS que você deseja desbloquear. Então você não quer mudá-lo da linha acima, a menos que eu tenha entendido mal.

Eu usaria em /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

Um passo importante é adicionar os módulos necessários ao initramfs / initcpio para que o kernel possa ler a chave USB.

Em Ubuntu , eu mudei /etc/initramfs-tools/modules com rtsx_usb {_ms, _sdmmc,} e memstick porque eu uso o Leitor de cartão SD em vez disso. Mas para a chave USB, você precisará de usb_storage , usbhid (?), hid_generic (?), hid (?), memstick e podem ser outros.

execute

sudo update-initramfs -u

e reinicie. Deve funcionar

    
por 12.06.2015 / 01:49
-1

recriar a chave depois de montar o usb para algum lugar que essencialmente fez um gato > / 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

OR

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

ENTÃO use o 'PARTUUID' do blkid para injetar em "/ etc / crypttab '

    
por 26.05.2015 / 18:16