使用 USB 上的密钥文件在启动时解密根设备 - Debian Stretch

使用 USB 上的密钥文件在启动时解密根设备 - Debian Stretch

基本上我需要的是使用存储在 USB 上的分区方案(ext3、ext4 我不介意)的密钥文件自动解密根设备。

我成功地使用命令实现了脚本方法dd,该方法基本上将密钥存储在(usb)内存开头和第一个分区(例如设备的前 2048 位)之间的填充中。基本上,此方法使用 udev 规则来链接/dev/usbkey例如/dev/sdc和一个脚本,该脚本读取(使用dd)前设备的前 2048 位来解密分区。看这里

遗憾的是,这对我来说不是一个可行的方法,我确实需要挂载 USB 文件系统(可能ro)、读取文件、解锁加密设备并卸载文件系统。

我尝试过不同的方法,例如详细介绍的方法拱形文档, 没有成功。更重要的是,我无法弄清楚这里解释的内容,我似乎缺少一些步骤。例如,在脚本方法中,如果 USB 密钥不存在,则会提示输入密码;在 arch 方法上,这似乎未实现,或隐式实现。

使用 arch 方法,我的系统似乎无法找到密钥(即使我已将模块 ext3 和 ext4 添加到 initramfs 中)并且它挂起。

所以这是我的问题:如何使用存储在 USB 密钥分区上的密钥文件来解密(luks)根分区?

我可以在哪里找到有关这些内容的信息,也就是我应该从哪里开始?

谢谢

更新:

我的分区方案如下所示:

NAME                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT 
sdb                       8:16   0 465.8G  0 disk  
├─sdb1                    8:17   0   243M  0 part  /boot
├─sdb2                    8:18   0     1K  0 part  
└─sdb5                    8:21   0 465.5G  0 part  
  └─cryptroot           254:0    0 465.5G  0 crypt 
    ├─debian--vg-root   254:1    0   450G  0 lvm   /
    └─debian--vg-swap_1 254:2    0  15.6G  0 lvm   [SWAP]

相关内容