如何以非交互方式向“dmcrypt luksFormat”提供密码?

如何以非交互方式向“dmcrypt luksFormat”提供密码?

我正在编写一个脚本,可以自动设置测试环境虚拟机。此脚本应自动为我格式化 dmcrypt+LUKS 分区,并使用特定密码。因为这是一个本地测试环境,所以我不关心密码的安全性,我只希望整个 VM 设置过程是自动化和非交互式的。

我如何以非交互方式向“dmcrypt luksFormat”提供密码?我想使用密码,而不是密钥,因为在生产中我们也使用 LUKS 的密码。

答案1

首先要做的是调用正确的命令:是cryptsetup,而不是dmcrypt

cryptsetup luksFormat /dev/vda2

第二件事是,您可以传递另一个参数来从文件或标准输入(使用-)读取密码。

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

请注意,该-n标志是必需的,以echo防止在密码后附加换行符。

请参阅cryptsetup手册页以了解传递密钥材料的其他方法。

答案2

如何使用 sudo 发送密码

echo 'passphraze' | echo 'sudopass' | sudo -S cryptsetup luksOpen /dev/sda5 media -d -

相关内容