Linux系统Webauthn.io仅支持YubiKey USB,NFC注册认证异常求解决方案
解决方案:Linux下Chrome通过NFC使用YubiKey完成WebAuthn操作
1. 基础依赖与设备检测配置
- 安装PC/SC Lite工具包(NFC依赖核心组件):
Debian/Ubuntu系执行:sudo apt install pcscd libpcsclite1
RHEL/CentOS系执行:sudo dnf install pcsc-lite pcsc-lite-libs
安装后启动并设置开机自启:sudo systemctl enable --now pcscd - 验证NFC阅读器与YubiKey的连通性:
执行pcsc_scan命令,将YubiKey贴近Omnikey阅读器,输出中应显示YubiKey的设备信息。若未检测到,检查阅读器USB连接或更新对应驱动。
2. Chrome浏览器WebAuthn配置调整
- 在Chrome地址栏输入
chrome://flags/#enable-webauthn-platform-ctap2,将选项设置为Enabled,重启Chrome以启用平台级CTAP2支持,这是NFC设备识别的关键开关。 - 检查
chrome://flags/#webauthn-virtual-authenticator,确保该选项处于Disabled状态,避免虚拟认证器干扰物理NFC设备检测。
3. 测试操作流程
- 打开webauthn.io,点击「Register」或「Authenticate」按钮
- 当系统提示插入USB设备时,将YubiKey贴近Omnikey NFC阅读器,而非插入USB接口
- 等待几秒,Chrome识别到NFC设备后,按下YubiKey上的按键完成验证
4. 排查问题补充步骤
- 确保Chrome版本在90以上,旧版本对NFC WebAuthn支持不完善
- 执行
lsusb命令,确认Omnikey阅读器被系统识别(输出含厂商ID与设备ID) - 查看pcscd日志排查权限或连接问题:
journalctl -u pcscd,若存在权限问题,将当前用户加入plugdev组:sudo usermod -aG plugdev $USER,重新登录后重试
内容的提问来源于stack exchange,提问作者AGh
相关产品推荐
相关产品推荐

