Me pregunto si hay un modo de que un atacante mediante la huella dactilar descubra si un servidor está utilizando un método de autenticación de clave pública frente a contraseña para establecer una conexión SSH.
Ejecutando ssh -vvv host
, en algún momento, verás algo como:
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
Las dos primeras líneas describen qué métodos ofrece el servidor y la última es qué ofrece su cliente (opción PreferredAuthentications
de ssh_config
). Desde este registro (a mi Raspberry Pi), puede ver que el servidor puede aceptar los métodos de autenticación publickey,password
. Esta lista también puede diferir para diferentes usuarios o para diferentes direcciones de origen ( AuthenticationMethods
opciones en Match
bloque en servidor sshd_config
), pero no dice que la autenticación puede tener éxito (por ejemplo, el usuario tiene una contraseña o público clave, ni si se permite el inicio de sesión root
es que intente iniciar sesión root
).
La mayoría de los servidores le darán esta "huella digital". Algunos de ellos le darán solo publickey
, lo que dice que no aceptan contraseñas. Tener un servidor que acepte contraseñas y no aceptar pubkey es muy raro.
En resumen, puede obtener cierta información como se describe anteriormente, pero no es muy útil en la mayoría de los casos.
Lea otras preguntas en las etiquetas passwords public-key-infrastructure ssh