用 dnf 安装下面两个包 (
sudo dnf install pam-u2f pamu2fcfg
)pam-u2f
:这个安装包提供了 实现了U2F和FIDO2的PAM模块,提供了一种简单的方法,可以将Yubikey(或其他U2F/FIDO2符合的身份验证器)集成到您现有的基础架构中。pamu2fcfg
:用于 获取 pam-u2f 通过安全密钥验证身份时需要的 “安全密钥的句柄和公钥”
禁用掉
authselect
(因为我们要手动编辑 pam 文件)sudo authselect opt-out
(关于这个命令请见 authselect 的man手册)
直接去
/etc/pam.d/
目录,编辑 你想改的服务的PAM 配置文件即可,修改后无需重启即可生效。例如:
- 想为sudo指令设一个密钥认证通过即可免输密码,就在
/etc/pam.d/sudo
首行中添加auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue
想为polkit认证服务设一个密钥认证通过即可免输密码(systemd、大部分桌面应用使用这个认证服务),就在
/etc/pam.d/polkit-1
文件首行中添加auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue
。/etc/pam.d/
目录下找不到polkit-1
的话就在/usr/lib/pam.d
里面找,找到的话直接改即可,注意/usr/lib/
一般被系统包管理器控制,你的更改可能会被包管理器覆盖掉,请注意一下。
- 想为sudo指令设一个密钥认证通过即可免输密码,就在
- 详见 pam-u2f 的官方文档。
- 配置前,请参考官方文档中的
Authorization Mapping Files
章节,使用pamu2fcfg
CLI工具 获取 pam-u2f 需要的密钥句柄和公钥 并保存在文件中。
设定一个静态主机名
- 参考 https://docs.fedoraproject.org/en-US/quick-docs/changing-hostname/ ,通过
hostnamectl set-hostname --static
设定静态主机名,不然的话主机名有可能会随网络变化;当前主机名和 使用pamu2fcfg
时的主机名 不一样会导致认证失败(我也不知道为啥,可能是因为密钥句柄和主机名相关)。
- 参考 https://docs.fedoraproject.org/en-US/quick-docs/changing-hostname/ ,通过
为Fedora 40配置Yubikey认证
- 协议:若非标明转载,则采用 Creative Commons BY 4.0 许可协议授权给你。
- 分类: 默认分类