Distribuições baseadas no Debian:
Debian e Ubuntu enviam um script de cache de senhas decrypt_keyctl com cryptsetup pacote .
O script decrypt_keyctl fornece a mesma senha para vários destinos LUKS criptografados, evitando que você o digite várias vezes. Ele pode ser ativado em crypttab com keyscript=decrypt_keyctl
opção. A mesma senha é usada para destinos que possuem o mesmo identificador no campo keyfile . Na senha de inicialização para cada identificador é solicitado uma vez.
Um exemplo crypttab :
<target> <source> <keyfile> <options>
part1_crypt /dev/disk/... crypt_disks luks,keyscript=decrypt_keyctl
part2_crypt /dev/disk/... crypt_disks luks,keyscript=decrypt_keyctl
Depois de atualizar seu cryptab , você também terá que atualizar o initramfs para aplicar as alterações. Use update-initramfs -u
.
O leia-me completo de decrypt_keyctl está localizado em /usr/share/doc/cryptsetup/README.keyctl
Infelizmente, isso atualmente não funciona em sistemas Debian usando o init systemd devido a um bug (outros sistemas init não devem ser afetados). Debian página de manual do crypttab sugere como uma solução alternativa para use a opção initramfs
para forçar o processamento no estágio initramfs de inicialização.
Distribuições que não fornecem script decrypt_keyctl :
Se decrypt_keyctrl não for fornecido pela sua distribuição, o dispositivo poderá ser desbloqueado usando um arquivo-chave no sistema de arquivos raiz criptografado. Isso quando o sistema de arquivos raiz pode ser desbloqueado e montado antes de qualquer outro dispositivo criptografado.
O LUKS suporta vários slots de chaves. Isso permite que você, alternativamente, desbloqueie o dispositivo usando a senha, se o arquivo de chave não estiver disponível / perdido.
-
Gere a chave com dados aleatórios e defina suas permissões para proprietário legíveis apenas para evitar vazamentos. Observe que o arquivo de chave precisa estar na partição raiz que é desbloqueada primeiro.
dd if=/dev/urandom of=<path to key file> bs=1024 count=1 chmod u=rw,g=,o= <path to key file>
-
Adicione a chave ao seu dispositivo LUKS
cryptsetup luksAddKey <path to encrypted device> <path to key file>
-
Configure o crypttab para usar o arquivo de chaves. A primeira linha deve ser o dispositivo raiz, pois os dispositivos são desbloqueados na mesma ordem listada em crypttab . Use caminhos absolutos para arquivos de chaves.
<target> <source> <keyfile> <options> root_crypt /dev/disk/... none luks part1_crypt /dev/disk/... <path to key file> luks