我试图在Fedora 36中使用FIDO2 (YubiKey 5)来解锁系统启动时的LUKS卷,但没有成功,因为它一直在请求常规的LUKS密码,而不使用令牌来解锁LUKS卷。
我在他的博客上跟踪伦纳特·波特林的例子,并使用systemd-cryptenroll注册YubiKey,然后使用适当的配置修改/etc/crypttab文件。cryptsetup luksDump显示令牌被添加到LUKS头中。但是,在系统启动时,将显示普利茅斯启动屏幕,提示常规的LUKS密码解锁音量。
我认为普利茅斯可能没有显示输入FIDO2 PIN的提示,所以我删除并重新添加了带有额外参数的LUKS键槽和令牌,以不需要用户在场或PIN:
systemd-cryptenroll --fido2-device=auto --fido2-with-user-verification=false --fido2-with-client-pin=false /dev/sda3这仍然不起作用,它仍然提示输入LUKS密码。
Fedora 36正在运行systemd版本250。
知道为什么FIDO2没有解锁LUKS的音量吗?
发布于 2022-06-11 14:45:32
run dracut --regenerate-all --force博士
因此,我发现了这个问题,在重新启动之前修改了dracut --regenerate-all --force之后没有执行/etc/crypttab。我相信,在基于Debian的发行版上,您需要运行update-initramfs -u。当需要一个FIDO2 PIN时,它将在普利茅斯接口处输入。它看起来与输入一个LUKS密码时相同,但是如果您点击Esc,您将看到请求FIDO2令牌PIN的提示。
作为参考,这里有一个完整的过程,用于配置FIDO2令牌(例如,YubiKey)来解锁RH/Fedora发行版上的LUKS卷(注:系统248版本只支持这一点)。( systemctl --version检查。)
cryptsetup luksDump /dev/sda3 (用任何块设备替换sda3 )
systemd-cryptenroll --fido2-device=auto --fido2-with-client-pin=true --fido2-with-user-presence=true /dev/sda3
cryptsetup luksDump /dev/sda3
vim /etc/crypttab
修改,使其看起来像这样。
luks-a6c32afd-3c35-4628-8653-5be499eaf0ce UUID=a6c32afd-3c35-4628-8653-5be499eaf0ce - fido2-device=auto
dracut --regenerate-all --force
临时演员:
从LUKS卷中移除令牌。
cryptsetup token remove --token-id 0 /dev/sda3
并移除相应的键槽。
systemd-cryptenroll --wipe-slot=1 /dev/sda3
我注意到,如果注册多个FIDO2令牌并指定PIN和存在需求,则需要触摸令牌X次数,其中X是已注册的第n个令牌。例如,如果您注册了四个令牌,当使用第四个注册令牌时,您需要在系统启动之前触摸它四次。我想这和在系统-CRYPTENROLL(1)中提到了这一点:有关
还请注意,对注册多个FIDO2令牌的支持目前并不太有用,因为解锁系统加密设置无法识别当前插入的令牌,因此不知道发送到设备的身份验证请求。
https://unix.stackexchange.com/questions/705795
复制相似问题