Implementei com sucesso o método de script com o comando dd
, que basicamente armazena a chave no preenchimento entre o início da memória (usb) e a primeira partição (por exemplo, os primeiros 2048 bits do dispositivo). Basicamente, este método usa uma regra do udev para vincular /dev/usbkey
com, e. /dev/sdc
e um script que lê (com dd
) os primeiros 2048 bits do antigo dispositivo para decifrar a partição. Veja aqui .
Infelizmente este não é um método viável para mim, eu realmente preciso montar o sistema de arquivos usb (possivelmente ro
), ler o arquivo, desbloquear o dispositivo criptografado e desmontar o sistema de arquivos.
Eu tentei métodos diferentes, como o detalhado em arquivamento de documentação , sem sucesso. Ainda mais eu não consigo descobrir o que é explicado aqui, alguns passos parecem ausentes para mim. Por exemplo, no método de script, se a chave usb não estiver presente, ela solicita a frase secreta; no método do arco isso parece não implementado, ou implementado implicitamente.
Com o método arch, meu sistema parece incapaz de encontrar a chave (mesmo que eu tenha adicionado os módulos ext3 e ext4 ao initramfs) e ele trava.
Então, aqui vai a minha pergunta: como é que se descriptografa (luks) a partição root, usando um arquivo de chaves armazenado em uma partição em uma chave usb?
Onde posso encontrar informações sobre essas coisas, também, por onde devo começar?
Obrigado
ATUALIZAÇÃO:
Meu esquema de partição é assim:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 243M 0 part /boot
├─sdb2 8:18 0 1K 0 part
└─sdb5 8:21 0 465.5G 0 part
└─cryptroot 254:0 0 465.5G 0 crypt
├─debian--vg-root 254:1 0 450G 0 lvm /
└─debian--vg-swap_1 254:2 0 15.6G 0 lvm [SWAP]
Tags boot luks disk-encryption