惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
J
Java Code Geeks
V
V2EX
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
B
Blog
A
About on SuperTechFans
有赞技术团队
有赞技术团队
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
美团技术团队
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
N
Netflix TechBlog - Medium
C
Check Point Blog
Recent Announcements
Recent Announcements
博客园 - Franky
博客园 - 叶小钗
T
Tailwind CSS Blog

GoodBoyboy 's Blog|惬意小屋-点滴记忆

嘉立创牛逼,免费的总裁卡到了 时间过得蛮快的 撒谎撒多了,别把自己都骗了 解决天选三AX210在fedora 44/Ubuntu 26.04上睡眠后恢复失败的问题 新的博客评论系统正式启动 博客评论数据已全部完成迁移 评论系统即将更换 在WSL中使用Canokey智能卡进行Git Commit签名 博客评论系统的一些设计 打算做个博客评论系统 开了一个游泳馆的月卡 今天游泳累炸了 回家吵的第一场架 新设计了一个Astro主题 Cap,一个基于PoW的自托管验证码系统 公益服务迁移通知 一种基于argon2id算法与shamir算法的内存PoW(工作量证明)解密游戏 记忆里的屋子(一) Ubuntu 26.04 Btrfs+LUKS2安装 主域名服务不稳定通知 腾讯元宝客户端实习二面凉经 腾讯元宝客户端实习一面面经 对越来越多AI博文的看法 GoodBoyboy Blog、Talk联动成功 只有失去了才会懂得珍惜,但幸好我还没有失去 滴滴Android客户端一面凉经 GoodBoyboy 's Talk上线! Easy Drop——一个基于Gin开发的高性能、轻量级说说平台 Perfect Pic —— 一个基于 Gin 开发的高性能、轻量级图床 尘封了八年的祝福
Fedora LUKS2设置TPM2+PIN与FIDO2解锁
GoodBoyboy · 2026-08-25 · via GoodBoyboy 's Blog|惬意小屋-点滴记忆

前言

新装了fedora,开机一直要输入luks密码解锁硬盘感觉有点麻烦,既然luks2支持tpm和fido2,这次就全给他整上

首先是FIDO2方式

需要FIDO2密钥支持hmac-secret扩展

我的话手里的Canokey Canary就支持

首先确定luks的分区

1
lsblk -f

然后确认luks分区版本,确保是luks2

1
sudo cryptsetup luksDump /dev/nvme0n1p3 | head

确认分区后,插入FIDO2密钥,查看状态

1
sudo systemd-cryptenroll --fido2-device=list

正常来说会出现下面类似输出

1
2
PATH          MANUFACTURER PRODUCT
/dev/hidraw4 Yubico YubiKey 5...

然后开始注册

1
2
3
sudo systemd-cryptenroll \
--fido2-device=auto \
/dev/nvme0n1p3

接着会需要输入当前LUKS密码以及FIDO PIN,触摸两次硬件密钥完成注册

注册完后配置/etc/crypttab

1
cat /etc/crypttab

一般会输出

1
luks-12345678-... UUID=12345678-... none discard

在后面加入fido2-device=auto

例如

1
luks-12345678-... UUID=12345678-... none discard,fido2-device=auto

最后通过dracut把FIDO2支持加入initramfs

1
2
3
4
sudo mkdir -p /etc/dracut.conf.d

echo 'add_dracutmodules+=" fido2 "' | \
sudo tee /etc/dracut.conf.d/fido2.conf

重建initramfs

1
sudo dracut --regenerate-all --force

验证一下

1
lsinitrd -m /boot/initramfs-$(uname -r).img | grep fido

一切正常的话会看到fido2字样

保持密钥插入重启,启动时就会要求输入FIDO2 PIN

输入完触摸一下安全密钥即可完成解锁。

TPM2+PIN

PC既然有TPM2,那也不能浪费了

先确认tpm设备

1
sudo systemd-cryptenroll --tpm2-device=list

正常会看到/dev/tpmrm0

然后开始注册

1
2
3
4
5
sudo systemd-cryptenroll \
--tpm2-device=auto \
--tpm2-with-pin=yes \
--tpm2-pcrs=7 \
/dev/nvme0n1p3

具体PCR选什么怎么组合就看你自己的需求

然后是下面流程

1
2
3
4
5
现有 LUKS 密码

新的 TPM2 PIN

再次确认 TPM2 PIN

另外PIN不一定只能是数字,但是连续输错TPM PIN会导致TPM暂时锁定

接着同样是修改/etc/crypttab

后面加上tpm2-device=auto

例如

1
luks-xxxxxxxx UUID=xxxxxxxx none discard,fido2-device=auto,tpm2-device=auto

以及加入initramfs

1
2
echo 'add_dracutmodules+=" tpm2-tss "' | \
sudo tee /etc/dracut.conf.d/tpm2.conf

最后

1
sudo dracut --regenerate-all --force

cardcode

Invitation

created:09/04/2015

Welcome to MyBlog

Use this card to join MyBlog and participate in a pleasant discussion together .

Welcome to GoodBoyboy 's Blog,wish you a nice day .

赞助