我已使用以下命令在运行 Fedora 34 的计算机上使用 LUKS2 加密了外部硬盘驱动器cryptsetup
。
当我现在插入硬盘并输入密码时,驱动器已成功解锁,我可以访问我的文件。此外,我希望能够使用 FIDO2 安全密钥解锁驱动器。我已使用以下命令添加密钥作为解锁选项:
sudo systemd-cryptenroll --fido2-device=auto /dev/sdc1
在该文件的文档中/etc/crypttab
,我找到了如何在启动过程中自动解锁此类驱动器。
不幸的是,我没有找到任何有关如何使用 FIDO2 密钥手动解锁此类驱动器的文档。当我尝试使用 解锁它时cryptsetup open /dev/sdc1 myLuks
,我必须输入密码。在手册中cryptsetup
我找不到与--fido2-device
这两者类似的参数。
有人可以解释如何使用 FIDO2 密钥手动解锁 LUKS2 加密驱动器吗?
提前致谢
答案1
您应该能够手动解锁设备systemd-cryptsetup
sudo /usr/lib/systemd/systemd-cryptsetup attach myLuks /dev/sdc1 - fido2-device=auto
您现在无法使用cryptsetup
FIDO(或 TPM2)解锁 LUKS 设备,仅在 systemd 中支持这些设备(它使用 LUKS2 功能,允许将“外部”元数据添加到 LUKS 标头,但使用 FIDO/ 的代码TPM2 仅存在于 systemd 中,因此 cryptsetup 不知道如何从 FIDO/TPM2 获取密钥)。这将会改变,cryptsetup 2.4.0(尚未发布,RC0 目前在 Fedora Rawhide 和 Debian Experimental 中可用)添加了一个新的插件接口,并且将可以使用cryptsetup open
FIDO/TMP2(以及其他“令牌”)自动打开设备" 将来由 systemd 支持。
答案2
在 fedora 37 cryptsetup 2.5.0 中,以下工作有效:
sudo cryptsetup open --token-only /dev/sdb1 myLuks