我在用着开放SUSE并希望使用全盘加密和带有密钥文件的 USB 设备来解密系统。我的整个系统都是用同样的方式加密的卢克斯容器(包括/boot
)。由于/boot
是加密的,grub2 要求输入密码才能解密。一旦我向 grub 提供密码, initrd 就能够使用 keyfile 解密系统/dev/disk/by-partlabel/key
,但 grub 仍然需要密码才能进入 initrd 阶段。
如何配置 grub2 使用该密钥文件以便不需要密码?这台计算机将通过 ssh 访问,并且键盘和显示器将不可用。如果需要,我可以将密钥文件放入正确的文件系统中,而不是使用密钥分区。
我需要/boot
与系统的其余部分一起进行加密,以便它可以与 btrfs 文件系统的其余部分一起进行快照,并且整个操作系统(包括内核)可以在发生任何损坏时恢复到工作状态。
答案1
据我所知,该功能尚未正式推出。
Grub cryptomount 命令可以挂载 LUKS 卷。此扩展通过支持分离标头和密钥文件增强了该功能以及添加对普通 DMCrypt 卷的支持。
这使得从 LUKS 和 DMCrypt 卷启动成为可能。 LUKS 标头可以分离并存储在单独的设备上,例如可移动 USB 密钥。密钥文件可以以类似的方式存储并使用,而不是交互式密码短语输入。
此扩展还添加了以下功能:
- 允许指定带或不带嵌入连字符的加密卷 UUID。
- 在使用给定密码或密钥文件解锁 LUKS 卷失败后,为用户提供第二次输入密码的机会。
[...]
给出了如何将补丁应用到上游的说明。最好将提到的 7 个补丁集成到 SuSe .src.rpm 并重建包(及其暗示的所有内容:构建工具、源依赖项...),但这超出了本答案的范围。
注意事项:
- 我没有测试过。
- 2018 年,一些工作似乎已经停止叉子是最近的。
- 局限性:
无自动配置
此扩展不会以任何方式改变 Grub 的自动配置(例如 grub-mkconfig)。使用扩展选项将需要手动配置grub.cfg。