硬件令牌怎么用
硬件令牌(YubiKey、智能卡等)把私钥保存在设备内部,签名在设备里完成,私钥永远不出芯片,使用时还可以要求物理触控确认。这让它同时具备两件事:凭据无法被复制到别的机器,签名动作需要人在场。常见用途是 SSH 登录、代码签名与双因素认证。需要提前规划的是运维面:设备丢失或损坏意味着凭据不可用,所以必须准备备用令牌与恢复流程,并明确每把令牌绑定哪套身份。
基本信息
| 常见设备 | YubiKey、智能卡、其他支持 PIV 或 FIDO2 的令牌 |
|---|---|
| 接口划分 | PIV、OpenPGP、FIDO2 等应用相互独立,各自管理各自的密钥 |
| SSH 集成 | 通过 PKCS#11 提供公钥与签名能力 |
| 安全特性 | 私钥不可导出,可选触控确认 |
| 运维要求 | 准备备用令牌与恢复流程,避免单点丢失 |
| 管理要点 | 记录每把令牌绑定的身份与用途 |
典型使用场景
- 运维登录:用令牌完成 SSH 认证,替代磁盘上的私钥文件。
- 代码与制品签名:签名动作需要设备在场,抑制自动化滥用。
- 高权限操作:关键系统的管理入口要求硬件因素。
- 多人共用环境:凭据绑定到人,不随机器流动。
- 合规场景:要求硬件级密钥保护时按令牌方案落地。
通过 PKCS#11 使用令牌登录
通过 PKCS#11 使用令牌登录
# 列出令牌中的公钥
ssh-keygen -D /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
# 用令牌完成 SSH 认证(私钥留在设备内)
ssh -I /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so user@host
# 把公钥放到目标主机的 authorized_keys 后即可免密登录
# 注意:路径随发行版与安装方式不同,先用 ls 确认 .so 文件位置接口与应用对照
| 接口 | 典型用途 | 注意 |
|---|---|---|
| PIV | 智能卡式证书与 SSH 登录 | 需要配置 PKCS#11 模块路径 |
| OpenPGP | 签名与加密邮件 | 与 PIV 密钥相互独立 |
| FIDO2 | 网页与服务双因素认证 | 不直接提供 SSH 证书能力 |
| 触控策略 | 签名前要求物理确认 | 可能影响无人值守的自动化 |
令牌触控确认能降低远程滥用风险,但也意味着自动化场景需要单独的凭据设计:不要让流水线依赖需要人工触碰的设备。