我刚刚开始使用 Yubikey 通过以下方式进行 SSH 登录这指导。
它工作正常 - 但前提是 Yubikey 能够执行 OTP。在几次意外触碰按键后,随机字符串喷到了我不想要的地方,我想我可以禁用 OTP,因为我只使用 PIV。
证书/密钥已存在并且正在工作:
$ ykman --version
YubiKey Manager (ykman) version: 5.1.0
$ cat /etc/fedora-release
Fedora release 38 (Thirty Eight)
$ ykman piv info
PIV version: 5.4.3
PIN tries remaining: 3/3
Management key algorithm: TDES
CHUID: No data available
CCC: No data available
Slot 9A (AUTHENTICATION):
Algorithm: ECCP256
Subject DN: CN=SSH key
Issuer DN: CN=SSH key
Serial: 14009452700000000000
Fingerprint: 1fa375971a89c6f82f3b73218f717cb1d031fbd61c94965qqqqqqqqqqqqqqqqq
Not before: 2023-03-10T10:02:12
Not after: 2024-03-09T10:02:12
我可以禁用 OTP:
$ ykman config usb --list
OTP
FIDO U2F
FIDO2
OATH
PIV
OpenPGP
$ ykman config usb --disable OTP
USB configuration changes:
Disable OTP
The YubiKey will reboot
Proceed? [y/N]: y
$ ykman config usb --list
FIDO U2F
FIDO2
OATH
PIV
OpenPGP
但这样做之后,SSH 不再起作用,并且系统提示我输入密码,而不是预期的基于密钥的登录
我可以再次启用 OTP:
$ ykman config usb --enable OTP
USB configuration changes:
Enable OTP
The YubiKey will reboot
Proceed? [y/N]: y
这将恢复 SSH 功能。
为什么必须启用 OTP 才能使 PIV 发挥作用?