CanoKey 的 WebAuthn 功能遵循 CTAP 2.1以及 CTAP 2.0标准。
支持的特性有:
从固件版本 2.0.0 起,还支持如下特性:
从固件版本 3.0.0 起,实验性支持 SM2 算法。
CanoKey 固件版本 3.0.0 不支持通过 USB 在 iOS 17.4 和 18 上使用 U2F 和 WebAuthn,也不支持在 macOS(包括 Safari、Firefox,以及依赖于 Apple CTAP 栈的应用程序)上使用 WebAuthn。
CanoKey 可以用于很多网站的双因素认证。
CanoKey 默认不设置 PIN,部分网站及部分功能(如 Discoverable Credentials 管理)要求您必须设置 PIN,请在收到提示时设置。
为了使用 FIDO 密钥进行 SSH 身份验证,需要确保安装的 OpenSSH 版本支持该功能。最低版本要求如下:
您可以使用以下命令检查当前的 ssh
客户端和 sshd
服务版本:
ssh -V
sshd -V
ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519_sk
将生成的公钥文件(~/.ssh/id_ecdsa_sk.pub
或者 ~/.ssh/id_ed25519_sk.pub
)的内容添加到目标服务器的 ~/.ssh/authorized_keys
文件中。
您可以使用以下命令将公钥复制到远程服务器:
ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub username@remote_host
或者
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@remote_host
将生成的私钥文件(~/.ssh/id_ecdsa_sk
或者 ~/.ssh/id_ed25519_sk
)复制到需要使用的其他机器上。确保文件权限正确:
chmod 600 ~/.ssh/id_ecdsa_sk
chmod 600 ~/.ssh/id_ed25519_sk
CanoKey 固件版本最低要求为 2.0.0。
ssh-keygen -t ecdsa-sk -O resident -f ~/.ssh/id_ecdsa_sk
ssh-keygen -t ed25519-sk -O resident -f ~/.ssh/id_ed25519_sk
与上述非 RK 密钥相同,将生成的公钥文件内容添加到服务器的 ~/.ssh/authorized_keys
文件中。
ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub username@remote_host
或者
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@remote_host
请参阅 pam-u2f。
CanoKey (固件版本 3.0.0)不支持 U2F。
受 CTAP 实现中的一处 bug 影响,固件版本小于等于 1.3
的 CanoKey 与 libfido2 1.7.0 不兼容,因此不能用于 systemd-cryptenroll
。
受影响的用户请使用 libfido2 1.6.0。