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


9

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

如何非交互地向“ dmcrypt luksFormat”提供密码?我想使用密码短语,而不是密钥,因为在生产中,我们也将密码短语用于LUKS。

Answers:


17

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

cryptsetup luksFormat /dev/vda2

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

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

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

有关cryptsetup传递密钥材料的其他方法,请参见手册页。


3
以这种方式创建音量后,解锁时遇到了一些困难。换行符使我绊倒。printf "This isn't a very secure passphrase." | cryptsetup luksFormat /dev/vda2 -为我工作得更好。YMMV。
肯尼·拉沙特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.