CanoKey’s WebAuthn functionality adheres to the CTAP 2.1, CTAP 2.0, and U2F standards.
Supported features include:
From firmware version 2.0.0, CanoKey also supports the following features:
From firmware version 3.0.0, CanoKey experimentally supports the SM2 algorithm.
CanoKey can be used for two-factor authentication on many websites.
By default, CanoKey does not set a PIN. Some websites and certain features (such as Discoverable Credentials management) require you to set a PIN. Please set it when prompted.
To use FIDO keys for SSH authentication, ensure that the installed OpenSSH version supports this feature. The minimum version requirements are as follows:
You can check the current ssh
client and sshd
service versions using the following commands:
ssh -V
sshd -V
ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk
ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519_sk
Add the content of the generated public key file (~/.ssh/id_ecdsa_sk.pub
or ~/.ssh/id_ed25519_sk.pub
) to the ~/.ssh/authorized_keys
file on the target server.
You can use the following command to copy the public key to the remote server:
ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub username@remote_host
Or
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@remote_host
Copy the generated private key file (~/.ssh/id_ecdsa_sk
or ~/.ssh/id_ed25519_sk
) to other machines where it needs to be used. Ensure the correct file permissions:
chmod 600 ~/.ssh/id_ecdsa_sk
chmod 600 ~/.ssh/id_ed25519_sk
CanoKey firmware version must be at least 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
Similar to the non-RK keys above, add the content of the generated public key file to the server’s ~/.ssh/authorized_keys
file.
ssh-copy-id -i ~/.ssh/id_ecdsa_sk.pub username@remote_host
Or
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@remote_host
Please refer to pam-u2f.
Due to a bug in the CTAP implementation, CanoKey firmware version ≤ 1.3 is incompatible with libfido2 1.7.0, and thus cannot be used with systemd-cryptenroll
. Affected users should use libfido2 1.6.0.