Falha ao abrir o dispositivo LUKS raiz no LVM durante a inicialização

0

Eu tenho partições LVM que são criptografadas usando LUKS. Minha partição raiz é /dev/HDD/root :

LVM group "HDD" (at /dev/HDD):
  Encrypted LUKS device "root" at /dev/HDD/root

Estou tentando descriptografá-lo por meio dos parâmetros do grub, GRUB_CMDLINE_LINUX :

dolvm crypt_root=/dev/HDD/root root=/dev/mapper/root root_keydev=UUID=<usb-uuid> root_key=hdd.key

A chave para o LUKS está localizada no dispositivo usb em /hdd.key

Mas quando está a carregar, mostra a mensagem de erro:

>> Scanning for and activating Volume Groups
  Reading all physical volumes. This may take a while...
  Found volume group "HDD" using metadata type lvm
  3 logical volume(s) in volume group "HDD" now active
>> Using key device /dev/sdc2.
>> Removable device /dev/sdc2 mounted.
>> hdd.key on device /dev/sdc2 found
No key available with this passphrase.
!! Failed to open LUKS device /dev/HDD/root
!! Could not find the root in /dev/HDD/root.
!! Please specify another value or:
!! - press Enter for the same
!! - type "shell" for a shell
!! - type "q" to skip...

De acordo com os registros, o grupo de volume foi encontrado, o dispositivo com chave foi montado com sucesso, a chave no dispositivo foi encontrada, mas depois não foi possível abri-lo usando o LUKS.

Então, estou usando a opção shell para corrigi-lo manualmente. O dispositivo com a chave está montado em /mnt/key , por isso posso encontrá-lo aqui e abrir o dispositivo LUKS com esta chave:

cat /mnt/key/hdd.key | cryptsetup luksOpen /dev/HDD/root root

este comando abre o dispositivo LUKS em /dev/mapper/root , portanto, posso sair do shell e pressionar q para ignorar esse erro. Depois disso, o sistema está inicializando com sucesso.

Parece que algo está errado com minha configuração do grub, porque é possível abrir o dispositivo LUKS e montá-lo usando minha chave manualmente, então minha pergunta é como consertá-lo para abrir o dispositivo LUKS automaticamente na inicialização usando o grub2?

    
por g4s8 10.10.2018 / 12:56

2 respostas

0

O problema é que usei uma chave como uma senha para LUKS em vez de keyfile. Para convertê-lo em keyfile, é necessário adicionar um arquivo de chaves via cryptsetup e remover a frase secreta para ele:

cat /bood/hdd.key | cryptsetup luksAddKey -d /bood/hdd.key /dev/root
cat /bood/hdd.key | cryptsetup luksRemoveKey /dev/root
    
por 10.10.2018 / 15:37
0

Um artigo bem explicado está aqui para configurar com uma partição LUKS.

Criando sistema de arquivos criptografados no Red Hat Enterprise Linux 7 e variantes

Além disso, podemos precisar remover o LUKS, no caso de uso abaixo dos passos para o mesmo.

Como remover com segurança um disco criptografado Luks do Red Hat 6, 7 Linux e variantes

    
por 30.10.2018 / 07:36