CanoKey 的 WebAuthn 功能遵循 CTAP 2.1、 CTAP 2.0 以及 U2F 标准。
支持的特性有:
从固件版本 2.0.0 起,还支持如下特性:
从固件版本 3.0.0 起,实验性支持 SM2 算法。
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。
受 CTAP 实现中的一处 bug 影响,固件版本小于等于 1.3
的 CanoKey 与 libfido2 1.7.0 不兼容,因此不能用于 systemd-cryptenroll
。
受影响的用户请使用 libfido2 1.6.0。