使用Yubikey登录Windows系统

原文发布至今已过两年,Windows 登录体系和 YubiKey 工具生态都有了较大更新。
本文是2年前文章的全面升级版本,涵盖最新的三种登录方式。

在开始之前,需要明确的是,利用 YubiKey 登录 Windows 有三种完全不同的方案,各有优缺点。原文介绍的是”方案二(PIV 智能卡)”,但这不是最新推荐的做法

登录方案账户类型难度稳定性官方支持推荐度
方案一:Microsoft Account(MSA)+ FIDO2在线微软账户⭐ 简单⭐⭐⭐⭐⭐ 最稳定✅ 原生支持⭐⭐⭐⭐⭐ 推荐
方案二:PIV 智能卡(文章原方法)本地或离线账户⭐⭐⭐⭐ 复杂⭐⭐⭐ 中等⚠️ 维护中⭐⭐ 不推荐
方案三:Yubico Login for Windows本地或离线账户⭐⭐ 简单⭐⭐⭐⭐ 较好✅ 官方工具⭐⭐⭐⭐ 推荐

方案一:Microsoft Account + FIDO2(最新推荐)

适用场景

  • 家庭用户或个人电脑
  • 可以使用在线账户(有网络连接)
  • 希望最简单、最稳定的配置

为什么推荐这个方案?

2024-2025 年的关键变化:

  • Windows 原生支持 FIDO2/WebAuthn,无需第三方驱动
  • Microsoft Entra ID(原 Azure AD)完全开放了无密码登录
  • 这是微软官方推荐的”无密码登录”方向

配置步骤

步骤 1:确认系统版本
  • Windows 10(版本 20H2 及以上)或 Windows 11(任意版本)
  • 已更新至最新补丁

检查方法:Windows 键 + R → 输入 winver 查看版本号。

步骤 2:准备 YubiKey
  • YubiKey 4、5、5C、5 Nano 等系列(任何支持 U2F/FIDO2 的型号均可)
  • 无需安装任何驱动程序
步骤 3:在线账户设置中添加安全密钥

前往微软账号官方网站:https://account.microsoft.com/security

  1. 登录你的微软账号
  2. 点击 安全设置(Security settings) → 高级安全选项(Advanced security options)
  3. 找到 额外的安全选项(Additional security options) 或 安全密钥(Security keys) 部分
  4. 点击 添加安全密钥(Add a security key)
  5. 按提示:
    • 插入 YubiKey
    • 轻触 YubiKey 上的金色接触点
    • 设置 PIN(可选,但建议设置)
    • 命名这个密钥(如”个人电脑”)
步骤 4:在 Windows 登录界面使用

重启电脑后,在 Windows 登录界面会看到:

  1. 通常的用户名/密码输入框下方
  2. 一个 “安全密钥(Security Key)” 的选项卡(像钥匙的图标)
  3. 点击它后,插入 YubiKey → 轻触 → 输入 PIN(如果设置了)
  4. 完成登录

常见问题

  • Q: 为什么登录界面看不到”安全密钥”选项?
    A: 这通常是因为你的账户没有绑定安全密钥。确保在微软账户网站上已完成上面的步骤 3。如果网络账户和本地账户同步有问题,可以尝试:
    注销当前账户,重新以在线模式登录
    转到 设置 > 账户 > 你的信息 > 改用 Microsoft 账户登录
  • Q: 能离线登录吗?
    A: 不能。这个方案需要网络连接至少完成一次同步。但一旦同步过,即使临时离线,也可能登录(取决于 Windows 缓存策略)。
  • Q: 我的电脑加入了公司域(企业)怎么办?
    A: 请参考下面”企业环境特殊说明”部分。

方案二:PIV 智能卡(原文方法)- 更新版

为什么这个方案需要更新?

原文的配置方法虽然可行,但存在以下问题:

  • 需要手动修改注册表,容易出错
  • 需要用 certutil 等命令行工具手动刷写证书
  • 驱动版本更新时容易失效
  • 不适合非技术用户

2025 年的建议:如果一定要用本地账户 + YubiKey,请直接跳到方案三

但如果你的网络上已经有人使用这个方案…

更新要点

  1. 驱动版本:确保 YubiKey Smart Card Minidriver 版本 ≥ 4.4(最新版本 4.5.0+)
  2. 注册表配置简化
    • 原文提到的两个注册表项仍然需要,但在 Windows 11 (23H2+) 中,某些情况下可以自动注册
    • 如果手动添加,确保没有打字错误(特别是 GUID 部分)
  3. 证书管理
    • 原文用 certutil -scinfo 查看证书,现在可以在 设置 > 账户 > 登录选项 > 安全密钥 中直接查看
    • 证书有效期问题:如果看到”No Valid Certificates”错误,可能是证书过期,需要用 yubico-piv-tool 重新生成
  4. 故障排查更新
    • 新命令:Get-SmartCardReader(PowerShell)可直接列出识别到的智能卡读卡器
    • 如果驱动加载失败,检查设备管理器中是否有黄色感叹号,以及是否有驱动冲突
  5. Windows 11 24H2 已知问题
    • 2024 年 6 月发现的一个 bug:Windows Account Management 在 24H2 版本中管理 FIDO 应用时可能报错
    • 此问题已在后续补丁中修复,确保系统完全更新

这个方案何时还值得用?

  • 公司 IT 部门已部署智能卡基础设施
  • 需要离线登录且要求不降低安全性
  • 网络环境受限,无法访问微软在线账户服务

方案三:Yubico Login for Windows(更新推荐)

适用场景

  • 必须使用本地(离线)账户
  • 希望有简单、直观的配置界面
  • 不想手动改注册表或处理智能卡驱动

为什么现在推荐这个方案?

Yubico 官方在 2023-2025 年间加强了对这个工具的维护,发布了多个更新版本。与手动配置 PIV 相比:

  • 自动处理所有系统集成
  • 更新频繁,bug 修复及时
  • 提供直观的图形界面

配置步骤

步骤 1:下载和安装

前往 Yubico 官方下载:https://www.yubico.com/support/download/yubico-login-for-windows/

  • 下载最新版本(当前 2.5.0+)
  • 运行 .exe 安装程序
  • 安装完成后重启电脑
步骤 2:启动 Yubico Login 应用

安装后,在开始菜单搜索 “Yubico Login” 打开应用。

步骤 3:添加 YubiKey

在应用中:

  1. 选择 “Add Key” 或 “+添加”
  2. 选择你要保护的本地 Windows 账户
  3. 插入 YubiKey,按提示操作
  4. 设置 YubiKey PIN(如果需要)
  5. 应用会自动配置 Windows 登录提供程序
步骤 4:登录测试
  1. 注销当前账户
  2. Windows 登录界面会显示 YubiKey 图标选项
  3. 选择 YubiKey → 插入密钥 → 轻触 → 输入 PIN
  4. 登录成功

与原 PIV 方案的对比

特性PIV 方案(原文)Yubico Login
安全机制基于证书(X.509)基于 HMAC-SHA1 挑战响应
安装复杂度⭐⭐⭐⭐ 需要手动配置⭐ 一键安装
驱动依赖Minidriver(易冲突)内置,无外部依赖
官方维护⚠️ 被动维护✅ 主动更新
离线登录✅ 支持✅ 支持
企业部署✅ 更正式⚠️ 主要适合个人

方案四:企业环境(Microsoft Entra ID)

适用场景

  • 公司/学校电脑已加入 Azure AD(现名 Microsoft Entra ID)
  • 由 IT 部门管理

配置方式

好消息:企业环境下,IT 管理员在后台开启 FIDO2 登录支持后,用户无需做任何配置

管理员操作

  1. 登录 Microsoft Entra admin center
  2. 前往 Authentication methods → FIDO2 Security Keys
  3. 设置策略为”Enabled”
  4. 配置哪些用户可以使用 FIDO2

用户操作

  1. 在 https://mysignins.microsoft.com 中注册 FIDO2 设备
  2. 插入 YubiKey,按提示完成注册
  3. 下次登录时选择”Security Key”选项

使用时常见问题

  • Q: 能否用 YubiKey 同时登录 Windows 和 Office 365?
    A: 是的。一旦在微软账户上注册了 YubiKey,它会自动用于所有使用相同 Microsoft 账号的登录点(Windows、Office.com、Microsoft Edge 等)。
  • Q: 忘记了 YubiKey PIN 怎么办?
    A:
    • 方案一(MSA):去微软账户网站删除并重新添加密钥
    • 方案三(Yubico Login):在 Yubico Login 应用中移除并重新添加
    • 硬件重置需要用 yubico-manager 工具
  • Q: 可以用多把 YubiKey 登录同一个账户吗?
    A: 可以。建议至少配置两把作为备份。添加第二把时,重复”添加”步骤即可。登录时会提示选择或自动识别。
  • Q: 显卡驱动/输入法会与 YubiKey 冲突吗?
    A: 极少见,但如果登录界面触摸无反应,可以尝试:
    • 移除键盘/鼠标,仅用 YubiKey
    • 重启到恢复环境,检查驱动加载
  • Q: 能否在 Windows 安全模式下用 YubiKey 登录?
    A:
    • 带网络的安全模式:方案一(MSA)可能有限制
    • 普通安全模式:方案三(Yubico Login)通常可行
    • 建议为本地管理员账户设置备用登录方式

系统要求(2025 更新版)

要求详情
Windows 版本10(20H2+)或 11(任意版本)
最新补丁强烈建议启用自动更新
YubiKey 型号4、5、5C、5 Nano、5 Ci 等(支持 FIDO2 的型号)
USB 端口USB-A 或 USB-C(根据 YubiKey 型号)
互联网连接方案一需要;方案三配置时建议有,日常登录不需要

故障排查(2025 更新)

症状:插入 YubiKey 后登录界面没有出现密钥选项

原因和解决方案:

原因解决方案
账户未绑定 YubiKey检查微软账户设置或 Yubico Login 应用是否已添加
USB 连接不稳定尝试另一个 USB 端口,或用 USB-C 扩展线
驱动未加载打开设备管理器,检查是否有”Smart Card”设备,如有黄色感叹号则重装驱动
系统缓存问题注销并重新登录,或重启电脑

症状:出现”No Valid Certificates Were Found”

原因:

  • PIV 证书过期或损坏
  • Smart Card Minidriver 版本过旧

解决方案:

powershell# 在 PowerShell 中运行(管理员模式)
Get-SmartCardReader # 查看是否识别到 YubiKey

# 如果识别到,尝试:
certutil -scinfo # 查看证书状态

如果证书确实损坏,需要用 yubico-piv-tool 重置 PIV 应用并重新生成证书。

症状:登录后卡在加载画面

原因:

  • FIDO2 验证成功但 Windows 配置有问题
  • 用户配置文件损坏

解决方案:

  • 按 Ctrl + Alt + Delete,选择登出再重试
  • 如果持续发生,用备用登录方式进入,检查事件查看器(Event Viewer)中的错误日志

安全最佳实践

  1. 备份方案:配置至少两把 YubiKey,或保留一个备用的强密码登录方式
  2. PIN 管理:为 YubiKey 设置 PIN,防止他人直接使用你的密钥
  3. 物理安全:妥善保管 YubiKey,不要在公共场所长时间插着
  4. 账户同步:定期检查 Microsoft 账户或 Yubico 应用中的已注册密钥列表
  5. 系统更新:始终保持 Windows 和相关驱动的最新状态

总结:2025 年选择建议

用户类型推荐方案理由
家庭用户,有网络方案一最简单、最稳定,零配置
企业员工方案四由 IT 部门统一管理
必须离线登录方案三官方工具,维护好
老系统已有 PIV 部署方案二(保持)无需迁移,但新电脑不建议使用

更新日志

  • 2025 年 11 月:完全改写,涵盖最新三种方案,加入 Windows 11 24H2 更新、Microsoft Entra ID 改名说明
  • 原文发布:2023 年4月,主要介绍 PIV 智能卡方案

参考链接

2023年原文

在尝试了使用Yubikey无密码登录SSH的复杂操作后,我又用Yubikey登录了我的windows系统。

这个操作相对简单一些, 在使用YubiKey 登录Windows系统之前,以下几个条件都需要先满足:

  1. Windows系统必须是Windows 10或以上版本,并已经安装了最新的更新。
  2. Yubikey 是 Yubikey 4系列 或 5系列, 4 或5 的FIPS版本也可以。
  3. 如果windows是加入Azure AD的,确保AAD管理员已经允许使用Security key登录了。

确认以上步骤,就可以开始设置YubiKey。

在Windows中配置通过Yubikey来登录系统

步骤1:插入YubiKey

把YubiKey 插入相应的USB插口,并确保它已正确连接。

步骤2:安装驱动程序

安装YubiKey Smart Card Minidriver,确保它是4.1以上的版本。

https://www.yubico.com/support/download/smart-card-drivers-tools/

注:如果smartcard的驱动不正确,你可能会看到错误信息”No Valid Certificates Were Found on This Smart Card“

步骤3:在登录选项中添加YubiKey

  1. 进入Windows设置的account->Sign-in options
  2. 打开Security key
  3. 按提示添加你的Yubikey

注:如果没有“Security Key”这个选项,可以添加两个Windows注册表项,然后再将其与YubiKey 捆绑在一起。在注册表中添加以下两个项:HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Authentication \ Credentials \ Provider \ {8bf9a910-a8ff-11d2-93e0-00c04f72dfcd}和HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Authentication \ Credential Providers \ {8bf9a910-a8ff-11d2-93e0-00c04f72dfcd}。这将允许Windows使用YubiKey 作为登录方式。

步骤4:激活Security Key Sign-in

  1. 打开Local Group Policy Editor
  2. 在computer cnfiguration ->Administrative Templates->System->Logon下,将”Turn on security key sign-in”

没有这一步,你可能在windows的登录界面是看不到一把钥匙的图标。

使用Yubikey来登录Windows

步骤1:开机,插入YubiKey

  1. 开机
  2. 把YubiKey 插入相应的USB插口,并确保它已正确连接。

步骤2:输入Yubikey的Pin

你仍需要输入Yubikey的Pin

步骤3:轻触Yubikey完成登录

成功登录,一切正常

再附上几条测试命令和链接

总结

我们可以通过Yubikey来替代传统密码登录。尽管也需要输入Pin,但作为硬件产品安全性自然要高一些,同时输入6位Pin也比密码要简单些。

作为Yubikey的另一个进阶应用,它还能让你觉得用来买Yubikey钱,没有完全打水漂。

一条评论

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注