Como fornecer uma senha de maneira não interativa para 'dmcrypt luksFormat'?

9

Estou escrevendo um script que configura automaticamente as máquinas virtuais do ambiente de teste . Esse script deve formatar automaticamente uma partição dmcrypt + LUKS para mim, com uma certa senha. Como este é um ambiente de teste local, não me importo com a segurança da senha, só quero que todo o processo de configuração da VM seja automatizado e não interativo.

Como posso fornecer uma senha de maneira não interativa para 'dmcrypt luksFormat'? Quero usar senhas, não chaves, porque na produção também usamos senhas para LUKS.

Hongli Lai
fonte

Respostas:

17

A primeira coisa a fazer é chamar o comando certo: é cryptsetup, não dmcrypt.

cryptsetup luksFormat /dev/vda2

A segunda coisa é que você pode passar outro argumento para ler a senha de um arquivo ou da entrada padrão (usando -).

echo -n "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -

Observe que o -nsinalizador é necessário echopara impedir que um avanço de linha seja anexado à senha.

Consulte a cryptsetuppágina do manual para outras maneiras de transmitir o material principal.

Michael Hampton
fonte
3
Tive alguma dificuldade para desbloquear meu volume depois de criá-lo dessa maneira. O personagem da nova linha estava me enganando. printf "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -funcionou melhor para mim. YMMV.
precisa saber é o seguinte