配置 grub2 使用密钥文件来解锁 luks 加密的 / 和 /boot

配置 grub2 使用密钥文件来解锁 luks 加密的 / 和 /boot

我在用着开放SUSE并希望使用全盘加密和带有密钥文件的 USB 设备来解密系统。我的整个系统都是用同样的方式加密的卢克斯容器(包括/boot)。由于/boot是加密的,grub2 要求输入密码才能解密。一旦我向 grub 提供密码, initrd 就能够使用 keyfile 解密系统/dev/disk/by-partlabel/key,但 grub 仍然需要密码才能进入 initrd 阶段。

如何配置 grub2 使用该密钥文件以便不需要密码?这台计算机将通过 ssh 访问,并且键盘和显示器将不可用。如果需要,我可以将密钥文件放入正确的文件系统中,而不是使用密钥分区。

我需要/boot与系统的其余部分一起进行加密,以便它可以与 btrfs 文件系统的其余部分一起进行快照,并且整个操作系统(包括内核)可以在发生任何损坏时恢复到工作状态。

答案1

据我所知,该功能尚未正式推出。

你可以看一下这个网站:(以及相应的git 存储库)。

Grub cryptomount 命令可以挂载 LUKS 卷。此扩展通过支持分离标头和密钥文件增强了该功能以及添加对普通 DMCrypt 卷的支持。

这使得从 LUKS 和 DMCrypt 卷启动成为可能。 LUKS 标头可以分离并存储在单独的设备上,例如可移动 USB 密钥。密钥文件可以以类似的方式存储并使用,而不是交互式密码短语输入。

此扩展还添加了以下功能:

  • 允许指定带或不带嵌入连字符的加密卷 UUID。
  • 在使用给定密码或密钥文件解锁 LUKS 卷失败后,为用户提供第二次输入密码的机会。

[...]

给出了如何将补丁应用到上游的说明。最好将提到的 7 个补丁集成到 SuSe .src.rpm 并重建包(及其暗示的所有内容:构建工具、源依赖项...),但这超出了本答案的范围。

注意事项:

  • 我没有测试过。
  • 2018 年,一些工作似乎已经停止叉子是最近的。
  • 局限性:

无自动配置

此扩展不会以任何方式改变 Grub 的自动配置(例如 grub-mkconfig)。使用扩展选项将需要手动配置grub.cfg

相关内容