¿Hay alguna manera de saber si un servidor está usando una clave pública o contraseña ssh?

7

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.

    
pregunta UserYmY 16.06.2016 - 17:41
fuente

1 respuesta

5

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.

    
respondido por el Jakuje 16.06.2016 - 20:07
fuente

Lea otras preguntas en las etiquetas