主要观点:
- 介绍用 Yubikey 作为 ssh 密钥的第二因素,OpenSSH 8.2 及之后版本支持 Yubikey,Yubikey 4 不支持需 FIDO2,非驻留密钥更安全且不占 Yubikey 插槽。
- 详细说明了创建非驻留密钥(推荐,更安全)和驻留密钥的步骤,包括插入 Yubikey、设置 PIN、生成密钥对、复制公钥到远程主机及测试等。
- 提及可通过命令列出和删除驻留密钥,还讨论了 Yubikey 基于 ssh 认证的优点和不足,如需插入 Yubikey PIN 较麻烦,且 Azure 不支持 ed25519 密钥。
关键信息:
- Yubikey 系列 5 起可用于 ssh 密钥强化,非驻留密钥更优,Yubikey 5 有 25 个可用插槽。
- 生成非驻留密钥命令:
ssh-keygen -t ed25519-sk
;生成驻留密钥命令:ssh-keygen -t ed25519-sk -O resident -O application=ssh:my-hostname -O verify-required
。 - 可通过
ykman fido credentials list
列出当前使用证书,ykman fido credentials delete da7fdc
删除特定证书。
重要细节:
- 不同系统配置方面,openSUSE Leap 15.5 和 MicroOS 无需特定更改,OpenSSH 服务器端可在
sshd_config
中添加PubkeyAuthOptions verify-required
,客户端可在authorized_keys
中添加verify-required
。 - 注意 prefer
ed25519
overecdsa
,因为 ECDSA 中 NIST 产生曲线的可信度问题。 - 提醒非驻留密钥可节省 Yubikey 插槽,驻留密钥删除时需注意私钥需被覆盖才会删除。
- 目前设置仅在主 Yubikey 和一台设备上,需为另一台电脑设置非驻留密钥,且因只有一个 Yubikey 存在单点故障风险,还需解决每次 ssh 连接需输入 PIN 的问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。