Autenticação SSH com chave de segurança Fido2/Yubico

Autenticação SSH com chave de segurança Fido2/Yubico

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-ske ed25519-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-yubicopara autenticação OTP pode ser usado.referência

libpam-u2fpara 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.

informação relacionada