首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FIDO2 (YubiKey)在Fedora 36启动时解锁LUKS

FIDO2 (YubiKey)在Fedora 36启动时解锁LUKS
EN

Unix & Linux用户
提问于 2022-06-11 12:33:24
回答 1查看 2.3K关注 0票数 3

我试图在Fedora 36中使用FIDO2 (YubiKey 5)来解锁系统启动时的LUKS卷,但没有成功,因为它一直在请求常规的LUKS密码,而不使用令牌来解锁LUKS卷。

我在他的博客上跟踪伦纳特·波特林的例子,并使用systemd-cryptenroll注册YubiKey,然后使用适当的配置修改/etc/crypttab文件。cryptsetup luksDump显示令牌被添加到LUKS头中。但是,在系统启动时,将显示普利茅斯启动屏幕,提示常规的LUKS密码解锁音量。

我认为普利茅斯可能没有显示输入FIDO2 PIN的提示,所以我删除并重新添加了带有额外参数的LUKS键槽和令牌,以不需要用户在场或PIN:

代码语言:javascript
复制
systemd-cryptenroll --fido2-device=auto --fido2-with-user-verification=false --fido2-with-client-pin=false /dev/sda3

这仍然不起作用,它仍然提示输入LUKS密码。

Fedora 36正在运行systemd版本250。

知道为什么FIDO2没有解锁LUKS的音量吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 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检查。)

  1. 查看现有的LUKS键槽信息。如果最初配置为只使用密码,您将只看到一个键槽(槽0)和零标记。

cryptsetup luksDump /dev/sda3 (用任何块设备替换sda3 )

  1. 注册令牌(S)。在本例中,指定对FIDO2 PIN和用户存在的要求(例如“触摸”)。

systemd-cryptenroll --fido2-device=auto --fido2-with-client-pin=true --fido2-with-user-presence=true /dev/sda3

  1. 再次检查LUKS令牌(S)和键槽。这一次,您应该看到一个加法键槽(槽1)和一个新令牌(令牌0),如果在注册期间指定了这些参数,它也会列出上述参数。

cryptsetup luksDump /dev/sda3

  1. 修改/etc/crypttab默认情况下,Fedora 36将使用UUID。

vim /etc/crypttab

修改,使其看起来像这样。

luks-a6c32afd-3c35-4628-8653-5be499eaf0ce UUID=a6c32afd-3c35-4628-8653-5be499eaf0ce - fido2-device=auto

  1. 生成新的initramfs图像

dracut --regenerate-all --force

  1. 重新启动和测试。如前所述,普利茅斯喷溅屏幕看起来将相同,但不是输入一个LUKS密码,而是输入FIDO2密码。或者按'Esc‘来验证它实际上是在提示输入FIDO2密码(如果需要的话)。如果指定了存在需求,则需要触摸令牌。系统应该启动。

临时演员:

从LUKS卷中移除令牌。

cryptsetup token remove --token-id 0 /dev/sda3

并移除相应的键槽。

systemd-cryptenroll --wipe-slot=1 /dev/sda3

我注意到,如果注册多个FIDO2令牌并指定PIN和存在需求,则需要触摸令牌X次数,其中X是已注册的第n个令牌。例如,如果您注册了四个令牌,当使用第四个注册令牌时,您需要在系统启动之前触摸它四次。我想这和在系统-CRYPTENROLL(1)中提到了这一点:有关

还请注意,对注册多个FIDO2令牌的支持目前并不太有用,因为解锁系统加密设置无法识别当前插入的令牌,因此不知道发送到设备的身份验证请求。

票数 6
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/705795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档