我玩过 Mandos 来自动打开一个加密的根设备。我想设置一个加密的 btrfs raid 1(sda1 和 sdb1:LUKS)。第一个设备被正确解密,但第二个设备将被打开。有没有办法做到这一点?
3 回答
从 Debian Stretch 开始,它可以正常工作 (tm)。两个设备都应该列在 /etc/crypttab 中,并且应该设置 btrfs raid1。然后安装mandos。确认在 Debian Stretch 9.5 上工作。
解决方案相对简单:
不要将磁盘添加到 /etc/crypttab,而是将它们直接添加到 /etc/initramfs-tools/conf.d/cryptroot 并且不要忘记 keyscript 部分(keyscript=/lib/mandos/plugin-runner)。
/etc/initramfs-tools/conf.d/cryptroot:
target=sda2_crypt,source=UUID=0f47884b-fb02-478e-b4dd-c594cf1cbbf1,key=none,rootdev,discard,keyscript=/lib/mandos/plugin-runner
target=sdb2_crypt,source=UUID=65f16e28-5b74-4b1f-9f81-01729244ac2c,key=none,rootdev,discard,keyscript=/lib/mandos/plugin-runner
为确保完整的 cryptsetup 堆栈正确编译到 initramfs 中,请将虚拟设备添加到 /etc/crypttab。注意添加noauto,否则它会在启动时尝试解锁设备并且会失败。
/etc/crypttab:
dummy_device UUID=087963da-63bb-439b-bb5a-15e712d02a29 none noauto,luks,discard
我建议您在根文件系统(我建议在 中/etc/keys
)有一个包含任何其他磁盘密码的文件,并在/etc/crypttab
.