基本上我需要的是使用存储在 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]