是否可以在启动时解锁多个 LUKS 设备以形成 LVM?

bad*_*ras 6 linux debian lvm luks

我有以下设置:一个 LUKS 加密的 SSD,LVM 用于形成典型的 linux 分区(/、/home/ 等)。此设置在启动时通过密码解锁。我正在使用 Debian Jessie。

由于空间不足,我想向 LVM 添加另一个 PV,当然应该在启动时使用 LUKS 加密和解密 - 使用从第一个 PV 派生的密钥或使用与第一个 PV 相同的密码。

这意味着 LVM(包括 /、/home/ 等)跨越两个 LUKS 加密的 SSD(当然每个 SSD 包含一个实际加密的分区,而不是 SSD 本身,但我认为这是显而易见的。)。

似乎不可能在启动时解锁这种设置,因为 Systemd 已经集成 - 所有找到的指令派生密钥(或其他),因为密钥派生脚本在启动时不再执行(或指令只是失败)。

有人知道这是否以及如何实际工作吗?

否则,我必须更改我的设置以拥有一个单独的根分区(在 LVM 之外),以便在启动后可以挂载其余的分区,或者在 lvm 内安装 luks。但两者都是我要选择的最后一个选项。

谢谢!

jay*_*ong 5

方法 1 我发现,由于 Systemd 是在 *buntu 桌面中实现的,如果

  1. 您要解锁的所有分区都使用相同的密码
  2. 您第一次正确输入根分区的密码。如果你弄错了,你需要为每个其他 LUKS 分区再次输入它

这在 Ubuntu Server 16.04 中对我不起作用

方法 2 使用 gnome-disk-utility (GUI) 应用程序...

  1. 选择加密的 LUKS 分区
    1. 单击齿轮按钮(附加分区选项)
    2. 编辑加密选项
    3. 禁用自动加密选项
    4. 在启动时启用解锁
    5. (可选)更改名称。这将在 /dev/mapper/ 下标记未锁定的分区
    6. 输入密码。该实用程序将为您以这种方式设置的每个分区在 /etc/luks-keys/ 中创建一个密钥文件
    7. (可选)手动或使用磁盘实用程序将解锁的分区添加到 fstab
    8. update-initramfs(不确定是否需要)
    9. 更新 grub

方法 3使用 keyutils。

我没有测试过这个。来自https://www.redpill-linpro.com/techblog/2016/08/12/btrfs-and-encryption.html

  1. 对两个加密卷使用相同的密码。
  2. 启动到新安装的系统:
  3. ~# apt-get install keyutils 并将 keyscript=decrypt_keyctl 选项添加到 /etc/crypttab 中列出的两个加密卷。
  4. 然后发出: ~# update-initramfs -u -k all 更新您的 initramfs 以包含 keyutils。
  5. 然后重新启动并检查输入的密码是否已缓存并用于解锁两个加密卷。