OpenSSH

Received disconnect from ...: Too many authentication failures

La conexión se corta tras unos segundos aunque tengas la clave buena. El cliente ofrece todas las claves del agente una a una y el servidor corta al llegar a MaxAuthTries, que por defecto es seis.

No es que la clave sea inválida: es que nunca llega a probarse. Cuantas más claves tenga cargadas el agente, antes ocurre.

Qué comprobar, y en qué orden

En el orden en que lo miramos nosotros. No es un ranking de frecuencia: no publicamos estadísticas que no hemos medido.

  1. 1

    El agente tiene cargadas más claves que los intentos que permite el servidor.

    Comprobar

    ssh-add -l | wc -l

    Corregir

    ssh -o IdentitiesOnly=yes -i ~/.ssh/la_clave usuario@servidor
  2. 2

    Falta fijar la clave por host, así que el problema vuelve en cada conexión.

    Comprobar

    grep -A4 'Host servidor' ~/.ssh/config

    Corregir

    # En ~/.ssh/config:
    #   Host servidor
    #     IdentityFile ~/.ssh/la_clave
    #     IdentitiesOnly yes
  3. 3

    El servidor tiene MaxAuthTries muy bajo.

    Comprobar

    sudo sshd -T | grep -i maxauthtries

    Corregir

    # Subirlo con criterio en /etc/ssh/sshd_config; bajarlo es una medida
    # anti fuerza bruta legítima, así que suele ser mejor arreglar el cliente.
    sudo sshd -t && sudo systemctl reload ssh

Los comandos de esta página se ejecutan en tu servidor y algunos modifican la configuración: léelos antes de pegarlos. Las rutas y los nombres de servicio varían entre distribuciones. Así se elabora este catálogo.