A primeira coisa a fazer é chamar o comando correto: é 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 sinal -n é necessário em echo para impedir que um feed de linha seja anexado à senha.
Veja a página cryptsetup man para outras formas de passar o material-chave.