Isso é explicado em detalhes na página cryptsetup
man em NOTES ON PASSPHRASE PROCESSING FOR LUKS
. Existem diferenças, como incluir novas linhas ou não, limites de tamanho diferentes (por exemplo, 512 bytes para senhas interativas, verificar cryptsetup --help
), ...
Se você quiser evitar este incômodo em particular, é melhor criar arquivos de chave que também funcionem ao digitá-los no terminal no prompt interativo cryptsetup. Isso significa que o arquivo de chave deve ser uma cadeia de texto simples e NÃO deve incluir um caractere de nova linha no final. (Use echo -n
ou printf "%s"
.)
Por exemplo, você pode usar pwgen
para gerar uma senha de 64 caracteres keyfile.txt
que também pode ser digitada manualmente em uma emergência:
$ echo -n $(pwgen 64 1) | tee keyfile.txt
Aish6shaejongi9yug3quij7aijop7SieTh7ierahngaem8iov5isho5dae0pisu
Com um arquivo-chave como este, não deve haver diferença na interpretação, independentemente de como você o passa para cryptsetup
. A exceção é usar o layout de teclado incorreto ao digitá-lo. Se você espera problemas de layout de teclado, você pode adicionar a senha duas vezes para que o LUKS aceite qualquer um deles.
Isso é particularmente importante ao usar /dev/urandom
keyfiles ... se você usá-los da maneira errada, pode ter parado de processar antecipadamente (um caractere aleatório de nova linha aparece) e sua senha é muito mais curta do que você acredita ser.