stop crypttab pedindo senha para swap

8

Eu instalei um novo sistema 11.04 quando ele foi lançado e configurei a criptografia completa do disco com o LUKS. No começo, ele me pediu uma senha para minhas três partições criptografadas:

/
/home
swap

Digitar a senha três vezes foi frustrante, então tentei configurar / home e trocar para descriptografar um arquivo de chaves armazenado em /. Eu criei o arquivo de chaves e o habilitei nas duas partições. Meu crypttab agora se parece com isso:

root-root_crypt UUID=13c21bf6-4d92-42a7-877a-87cc31b1aa19 none luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 /root/keyfile luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 none luks
sda3_crypt UUID=e4677895-2114-4054-9f23-d36f6bb0e6a2 /root/keyfile luks,swap

Isso funciona bem para / home, que é montado automaticamente sem solicitar uma senha. Mas cryptsetup ainda pede uma senha para o espaço de swap. Eu até tentei adicionar noauto ao espaço de swap para que ele não fosse configurado - uma vez que o sistema é inicializado eu posso habilitá-lo sem a senha, então eu pensei em adicionar um script de init tardio para fazer isso, mas mesmo com o noauto cryptsetup ainda pede a frase secreta.

Obrigado!

    
por Brad 17.05.2011 / 17:14

2 respostas

8

Tive a mesma pergunta, aqui está como eu fiz isso no Ubuntu 12.04.1 e 12.10,

- antes de começar, certifique-se de ter um backup e também pode inicializar seu sistema com o ubuntu cd ou usb; como se você cometer um erro, seu sistema pode não inicializar mais ou você pode perder dados. Eu suponho que você tenha um sistema ubuntu criptografado com o LUKS, dentro do LUKS você tem 3 partições, SYSTEM-BOOT (não criptografado), SYSTEM-SWAP (criptografado) e SYSTEM-OS (criptografado) -

u precisa ajustar UUIDs, SYSTEM-SWAP_crypt, SYSTEM-OS_crypt, SYSTEM-SWAP, SYSTEM-OS para a variação usada em seu sistema, pls ver link de referência abaixo da minha solução para mais informações

Obtenha UUIDs:

blkid

Prepare >

swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt

Diga ao cryptsetup para calcular a frase secreta da partição swap da chave de descriptografia do volume que contém o sistema de arquivos raiz >

/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksFormat /dev/mapper/SYSTEM-SWAP --key-file -
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksOpen /dev/mapper/SYSTEM-SWAP SYSTEM-SWAP_crypt --key-file -
mkswap /dev/mapper/SYSTEM-SWAP_crypt

diga ao sistema sobre a partição swap, edite crypttab >

nano /etc/crypttab

=? verifique se duas linhas combinam

SYSTEM-OS_crypt UUID=uuid-of-luks-containing-osroot none luks
SYSTEM-SWAP_crypt UUID=uuid-of-luks-containing-swap SYSTEM-OS_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived

diga ao sistema sobre a partição swap, edite fstab >

nano /etc/fstab

=? verifique se você tem essa linha

/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0

informe ao sistema sobre a partição de troca, edite o resumo >

nano /etc/initramfs-tools/conf.d/resume

=? verifique se você tem essa linha

RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt

atualize o initramfs na partição de inicialização >

update-initramfs -u -k all

Referência

A resposta inspirada por Configurando um sistema Debian criptografado (link arquivado):

% bl0ck_qu0te%
swapoff /dev/mapper/hda2_crypt
cryptsetup luksClose hda2_crypt
dd if=/dev/urandom of=/dev/hda2
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
  | cryptsetup luksFormat /dev/hda2 --key-file -
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
  | cryptsetup luksOpen /dev/hda2 hda2_crypt --key-file -
mkswap /dev/mapper/hda2_crypt
% bl0ck_qu0te%
/etc/crypttab:
  hda2_crypt /dev/hda2 hda5_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived

/etc/fstab:
  /dev/mapper/hda2_crypt swap swap sw 0 0
% bl0ck_qu0te%     
por Prince 04.01.2013 / 09:46
4

Isso provavelmente indica que a partição swap está sendo acessada durante a parte initramfs do processo de inicialização. Neste ponto, o sistema de arquivos raiz ainda não foi montado, portanto, qualquer arquivo de configuração armazenado não será visível.

Enquanto o espaço de troca é montado após o sistema de arquivos raiz, há uma razão para o processo de inicialização initramfs acessar o espaço de troca: quando você hiberna seu computador, o conteúdo da memória e do sistema é gravado para troca. Para continuar da hibernação, é necessário verificar se o espaço de troca contém uma imagem de hibernação que exigiria a frase secreta.

Se você não se importar em perder a capacidade de retornar da hibernação, poderá desativar esse comportamento editando /etc/initramfs-tools/conf.d/resume e comentando a linha que começa com RESUME= . Depois de fazer a alteração, execute update-initramfs -u para atualizar a imagem initramfs .

    
por James Henstridge 18.05.2011 / 05:03

Tags