我当前的设置包括一个根分区和一个交换分区,两者都经过 LUKS 加密。目前,为了解密它们,我使用以下内核参数:(我正在使用systemd
和sd-encrypt
initramfs 挂钩)
rd.luks.name=ROOT-UUID=root root=/dev/mapper/root \
rd.luks.name=SWAP-UUID=swap rd.luks.key=/etc/cryptsetup-keys.d/swap.key resume=/dev/mapper/swap
我希望该rd.luks.key
参数可以用于自动解密我的交换分区,但是当然,密钥位于我的根分区内部,以避免系统轻易地解密自身 - 所以我真的需要以某种方式强加顺序分区被解密并挂载,以便在需要解锁交换时密钥可用。但是,我相信我必须通过内核参数解密并挂载交换分区,这样才能resume=
正确设置参数。
归根结底,我真正想要的是避免在每次启动时输入两个密码。我希望通过密钥文件对交换分区进行解密,这样我就可以定期将其密码更改为随机生成的密码(可能是自动生成的);只要我能够正确恢复交换,我也可以使用一个密码直接解锁两个分区。
我的做法正确吗?我是否遗漏了此过程中需要或不需要的任何内容?非常感谢任何帮助。