Security notes · 2026 年 10 月 11 日

YubiKey 的使用场景

一把 YubiKey 能用在哪些地方:网站登录、电脑登录、SSH 和 Git、加密签名、验证码,以及它管不到的地方。

资料截至 2026-10-11范围:YubiKey 5 系列和 Security Key 系列

先说结论

YubiKey 5 系列支持六类用法;Security Key 系列只支持第一类,即网站和应用登录(FIDO2)。

收益最大的两件事:给主邮箱、Apple 账号、密码管理器这类“管着其他账号的账号”加上 YubiKey;把 SSH 私钥放进 YubiKey。每个账号都注册两把 key,一把随身,一把放家里。

一、六类用法总览

下表按对个人的用处从高到低排列。

用法用到的功能5 系列Security Key 系列
网站和应用登录FIDO2 / WebAuthn、U2F支持支持
电脑登录智能卡(PIV)、FIDO2支持只支持 FIDO2 部分
SSH 和 GitFIDO2(-sk 密钥)支持支持
加密和签名OpenPGP、PIV支持不支持
TOTP 验证码OATH支持不支持
OTP 和其他Yubico OTP、静态密码、挑战应答支持不支持

固件 5.7 及以后,一把 key 最多存 100 个 passkey、64 个 TOTP 账号;5.0 到 5.6 分别是 25 个和 32 个。U2F 方式的第二因素不占存储,数量不限1,2。固件不能升级,买新 key 时确认版本在 5.7 以上。

二、网站和应用登录

这是 YubiKey 最主要的用法。网站发来一个随机挑战,YubiKey 用存在 key 里的私钥签名,网站用公钥验证。私钥只认注册时的域名,钓鱼网站拿不到可用的签名。

2.1 无密码登录和第二因素

2.2 支持的服务

常见的有 Apple 账号、Google 和 Google Workspace、Microsoft、GitHub、GitLab、Cloudflare、AWS、1Password、Bitwarden、Dropbox、X、Facebook、Coinbase、Binance,以及大部分域名注册商。

Apple 账号要求至少注册两把 key,最多六把;所有登录这个账号的设备要升级到 iOS 16.3 或 macOS Ventura 13.2 以上3。Apple 建议两把 key 分开放,一把在家,一把在办公室;key 和受信任设备全部丢失时,账号可能永久锁死3,4。

公司用 Google Workspace 时,可以要求管理员必须用安全密钥登录。管理员密码被钓走后,攻击者仍然登不进去。

三、电脑登录

系统做法
MacmacOS 原生支持智能卡登录。用 sc_auth 把 key 和账号配对,之后用 key 加 PIN 登录,替代账号密码。
WindowsMicrosoft 账号和 Entra ID(原 Azure AD)支持用 FIDO2 key 登录。
Linux装 pam-u2f,登录和 sudo 都要求碰一下 key6。
Linux 磁盘加密systemd-cryptenroll --fido2-device=auto 让 key 解锁 LUKS 加密盘7。Mac 的 FileVault 不能直接用 key 解锁。

四、SSH 和 Git

OpenSSH 8.2 起支持把 SSH 密钥绑在 FIDO2 key 上5。对写代码、管服务器的人,这一类用处很大。

4.1 SSH 密钥放进 YubiKey

ssh-keygen -t ed25519-sk -O resident -O verify-required

把 -sk 公钥放到服务器上之后,只拷走一份电脑硬盘的人登不进服务器。

4.2 Git 提交签名

git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519_sk.pub
git config --global commit.gpgsign true

用同一把 -sk 密钥签名提交。公钥加到 GitHub 的签名密钥后,提交显示 Verified8。没有这把 key,别人无法以你的名义签名提交。

五、加密和签名

六、TOTP 验证码

Yubico Authenticator 把 TOTP 的密钥存在 YubiKey 里,手机上只负责显示验证码10。

七、OTP 和其他功能

功能做什么现在的用处
Yubico OTPkey 自动输入一串一次性码。用的服务很少。
静态密码key 输入一串固定的长字符串。可以当主密码的一半,不能当整个密码。
挑战应答程序发来挑战,key 算出应答。KeePassXC 用它解锁密码库。

八、YubiKey 不做的事

九、建议配置

优先级用法账号和工具
1“主账号”加 FIDO2Apple 账号、Google(个人和 Workspace 管理员)、1Password、主邮箱
2基础设施加 FIDO2GitHub、Cloudflare、AWS 和云服务器、域名注册商、银行
3SSH 和 Git 签名服务器和 GitHub 用 ed25519-sk 密钥
4TOTP只支持 TOTP 的网站
5按需Mac 智能卡登录、age 加密备份

每个账号都注册两把 key。SSH 的 -sk 密钥例外:它只存在生成它的那一把 key 上。在第二把 key 上另生成一个 SSH 密钥,两个公钥都加到服务器和 GitHub。

其他普通账号用手机或密码管理器同步的 passkey 就够了。YubiKey 留给那些一旦丢失、会连带丢掉其他账号的账号。

十、方法与来源

本页由一次问答整理而成。2026-10-11 用网页检索核对了两组事实:YubiKey 固件 5.7 的存储上限(来源 1、2),Apple 账号使用安全密钥的要求(来源 3、4)。其余内容来自一般知识,包括各服务的支持列表、Mac 智能卡登录、OpenSSH、Git 签名、pam-u2f、systemd-cryptenroll、age 插件和 KeePassXC。来源 5 到 10 是这些工具的官方页面,本次没有逐条打开核对。macOS 自带 ssh 是否支持 -sk 密钥待确认。各服务的支持情况会变,用之前以服务方的页面为准。

  1. Yubico,《5.7 - 5.6 Firmware Specifics》,YubiKey Technical Manual,docs.yubico.com
  2. Yubico 支持,《How many accounts can I register my YubiKey with?》,support.yubico.com
  3. Apple 支持,《About Security Keys for Apple Account》,support.apple.com/102637
  4. Apple,《Use security keys for two-factor authentication on Mac》,Mac 使用手册,support.apple.com
  5. OpenSSH,《Release notes 8.2》,openssh.com/txt/release-8.2
  6. Yubico 开发者文档,《pam-u2f》,developers.yubico.com/pam-u2f
  7. systemd,《systemd-cryptenroll》手册页,freedesktop.org
  8. GitHub Docs,《About commit signature verification》,docs.github.com
  9. age-plugin-yubikey 仓库,github.com/str4d/age-plugin-yubikey
  10. Yubico,《Yubico Authenticator》,yubico.com

返回阅读整理页