A Identificação do Usuário é a fase final do processo de autenticação do SSH. Ela ocorre dentro do túnel criptografado estabelecido nas fases anteriores, garantindo que as credenciais nunca vazem.

1. O Protocolo de Autenticação (RFC 4252)

O SSH suporta vários métodos de autenticação. O servidor pode exigir um ou mais métodos simultâneos (MFA).

A. Autenticação por Senha (Password)

  • O cliente envia o nome de usuário e a senha.
  • O servidor valida a senha no sistema de arquivos local (ex: /etc/shadow) ou via PAM (Pluggable Authentication Modules).
  • Risco: Vulnerável a ataques de força bruta se a senha for fraca.

B. Autenticação por Chave Pública (Public Key)

  • É o método mais seguro e recomendado.
  • O servidor possui a Chave Pública do usuário (armazenada em ~/.ssh/authorized_keys).
  • O cliente possui a Chave Privada correspondente.
  • Processo: O servidor envia um “Desafio” (um valor aleatório) para o cliente. O cliente assina esse desafio com sua chave privada e devolve ao servidor. O servidor usa a chave pública para verificar a assinatura e permitir o acesso.
  • Vantagem: A chave privada nunca é enviada pelo túnel.

2. Outros Métodos de Autenticação

  • Keyboard-Interactive: Uma variação do método de senha que permite que o servidor faça perguntas dinâmicas ao usuário (como um desafio de Segundo Fator - SMS, TOTP, etc.).
  • GSSAPI (Kerberos): Usado em ambientes corporativos Windows/Active Directory para login único (Single Sign-On).
  • Host-based: Autenticação baseada no IP e no nome do computador do cliente (hoje descontinuada por ser insegura).

3. Melhores Práticas de Cyber

Para garantir que a identificação do usuário seja robusta:
1. Desabilite senhas: Forçar o uso exclusivo de chaves públicas.
2. Use MFA (Multi-Factor Authentication): Exigir, além da chave pública, um código de seis dígitos (Google Authenticator) ou uma chave física (Yubikey).
3. Proteja a Chave Privada: Sempre use uma senha forte (passphrase) para proteger o arquivo da chave privada no seu computador local.
4. Use Algoritmos Fortes: Prefira chaves do tipo Ed25519 em vez do antigo RSA.
- Ex: ssh-keygen -t ed25519 -a 100 (o parâmetro -a 100 aumenta a dificuldade de um ataque de força bruta contra a passphrase da chave).