Eu queria saber se é possível usar o FIDO2 para autenticar em um servidor ssh. Existem muitos tutoriais explicando como usar GPG e os Yubikeys mais recentes para autenticação ssh, mas não encontro nenhuma informação sobre se é possível ou como é possível usar FIDO2 ou U2F (especialmente Yubico Security Key NFC) para autenticar em um servidor ssh.
Responder1
Boas notícias! OpenSSH 8.2adicionou suporte para FIDO/U2F. Não há mais necessidade de um patch.
Suporte FIDO/U2F
Esta versão adiciona suporte para autenticadores de hardware FIDO/U2F ao OpenSSH. U2F/FIDO são padrões abertos para hardware barato de autenticação de dois fatores que são amplamente usados para autenticação de sites. No OpenSSH, os dispositivos FIDO são suportados por novos tipos de chave pública
ecdsa-sk
eed25519-sk
, juntamente com os tipos de certificado correspondentes.
ssh-keygen
(1) podem ser usados para gerar uma chave apoiada por token FIDO, após a qual eles podem ser usados como qualquer outro tipo de chave suportado pelo OpenSSH, desde que o token de hardware seja anexado quando as chaves forem usadas. Os tokens FIDO também geralmente exigem que o usuário autorize explicitamente as operações tocando ou tocando neles.A geração de uma chave FIDO requer que o token seja anexado e geralmente exige que o usuário toque no token para confirmar a operação:
$ ssh-keygen -t ecdsa-sk -f ~/.ssh/id_ecdsa_sk Generating public/private ecdsa-sk key pair. You may need to touch your security key to authorize key generation. Enter file in which to save the key (/home/djm/.ssh/id_ecdsa_sk): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/djm/.ssh/id_ecdsa_sk Your public key has been saved in /home/djm/.ssh/id_ecdsa_sk.pub
Responder2
Você pode usar pams fornecidos por yubico.
libpam-yubico
para autenticação OTP pode ser usado.referência
libpam-u2f
para u2f (não pode ser usado com ssh, pois usa libusb, que lê apenas portas locais).
BTW: Você não precisa do PPA, ele já está no repositório (pelo menos no Debian).
Responder3
Isto é possível porcorrigindo o servidor e cliente OpenSSH.
Como este patch não está integrado no código OpenSSH oficial e parece bastante hackeado, ele pode conter bugs e vulnerabilidades.