$ ssh-keygen -t ed25519-sk -O resident -O verify-required -C "yubikey-primary"
ssh-keygen -t ed25519-sk -O resident -O verify-required -C "yubikey-primary"
ssh-keygen -t ed25519-sk -O resident -O verify-required -C "yubikey-primary"
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@your-server
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@your-server
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@your-server
Confirm user presence for key ED25519-SK SHA256:...
User presence confirmed
Confirm user presence for key ED25519-SK SHA256:...
User presence confirmed
Confirm user presence for key ED25519-SK SHA256:...
User presence confirmed
ssh-keygen -K
ssh-keygen -K
ssh-keygen -K
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AuthenticationMethods publickey
-weight: 500;">git remote set-url origin -weight: 500;">git@github.com:username/repo.-weight: 500;">git
-weight: 500;">git remote set-url origin -weight: 500;">git@github.com:username/repo.-weight: 500;">git
-weight: 500;">git remote set-url origin -weight: 500;">git@github.com:username/repo.-weight: 500;">git - -t ed25519-sk — uses the ed25519 algorithm backed by a security key (sk = security key)
- -O resident — stores the key on the YubiKey, not just a reference to it
- -O verify-required — requires PIN + touch every time (not just touch)
- -C "yubikey-primary" — label it so you know which key this is