Uma pergunta relacionada seria: luksOpen não descriptografa com keyfile, a menos que o argumento --key-file seja fornecido
No Ubuntu bionic, no cryptsetup 2.0.2
entanto, encontro o seguinte problema:
ao abrir um dispositivo criptografado luks usando uma senha contida em um arquivo, ele funciona bem na chamada direta:
cat mypass.txt | sudo cryptsetup open --type luks /dev/sda1 enc-store
tentando usar o --key-file=-
argumento documentado, que deve resultar no mesmo comportamento
cat mypass.txt | sudo cryptsetup open --type luks --key-file=- /dev/sda1 enc-store
apenas produzindo a mensagem atrasada
Nenhuma chave disponível com esta senha.
isso é especialmente um problema, ao tentar usar o script cryptdisks_start enc-store
, que depende da --key-file=-
opção , que produz a mensagem acima três vezes
o que torna a vida um pouco menos agradável.
estou faltando alguma coisa aqui?
-obrigado!
Há uma diferença entre os dois comandos, conforme descrito em
man cryptsetup
:Isso significa que se você gerou seu arquivo usando
echo
,vi
, ou copiar/colar, ele provavelmente incluirá uma nova linha no final. se usado como stdin puro (sem--key-file
opção), ele terá sua nova linha final ignorada, mas quando usado como parâmetro para--key-file
, mesmo que seja o mesmo stdin (--key-file=-
), ele terá essa nova linha incluída na senha: ela se torna uma nova senha que é inválido.Para verificar isso:
Deve funcionar como pretendido (caso eu remova qualquer CR também).
Se essa for a causa, basta remover esta nova linha: por exemplo
O que você provavelmente deve fazer de qualquer maneira é gerar uma nova senha a partir de números aleatórios puros, colocá-la em um arquivo seguro e incluí-la em um slot LUKS separado.