¿Cómo se autentica el servidor en ssh? [duplicar]

2

El servidor no conoce ningún secreto que pueda usarse para autenticarse.

Además, ¿de qué sirve una huella digital si se basa en la clave pública si es básicamente el hash de alguna clave pública conocida?

¿Qué protección ofrece un "ssh server spoofing"?

RESUMEN Y REFLEXIONES : Ya he visto la pregunta duplicada antes de publicar esta. La parte que para mí no estaba clara es que el servidor también tiene una clave privada. Y cuando intente conectarse a sshd , le enviará la huella dactilar de la clave pública sshd (esto probablemente se encontrará en el /etc/sshd , diferente a los que se encuentran en el /home/<users>/.ssh ).

Esta es la razón por la cual ssh keys pregunta acerca de cómo autorizar una huella digital en la primera conexión. Esta es la razón por la que la huella digital cambia si realiza una nueva instalación de sshd (se ha generado un nuevo par de claves público-privadas).

    
pregunta aiao 29.09.2015 - 13:47
fuente

2 respuestas

2

Por lo general, los clientes de SSH realizarán un seguimiento de la huella digital de la clave pública que vieron la primera vez que se conectó a la máquina. De hecho, a menudo, la primera vez que se conecta a una máquina a través de SSH, el cliente le mostrará la huella digital y le pedirá que valide que sea correcta.

Esta validación debe tener lugar fuera de banda. En otras palabras, el administrador del sistema debe darle la huella digital correcta de manera segura. Luego puede comparar la huella digital que el servidor le presenta y la buena huella digital conocida.

En las conexiones posteriores, siempre que la clave pública presentada desde el servidor tenga la misma huella digital, la mayoría de los clientes de SSH la aceptarán y dejarán que la conexión continúe. Por otro lado, si la huella digital ha cambiado, los clientes SSH que he usado en realidad negarán la conexión, le informarán que la huella digital ha cambiado y que puede ser víctima de un ataque.

Si no verifica correctamente la huella digital inicial y alguien lo está atacando activamente en esa primera conexión, podrán falsificar la conexión y posiblemente robar credenciales (según el mecanismo de autenticación que se esté usando).

    
respondido por el mikeazo 29.09.2015 - 13:58
fuente
2

La autenticación del servidor SSH depende esencialmente del usuario. Pero lo que debe recordar es que toda esta información se pasa después de que se haya realizado el intercambio seguro de claves.

Resumen

Sí, se puede establecer un canal cifrado para un servidor desconocido. No, el servidor no puede falsificar la clave de host porque el cliente produce la huella digital de la clave pública utilizada para establecer la conexión. La huella digital que se muestra en la conexión se genera por separado y el servidor no puede influir en ella.

Se le da la oportunidad de rechazar la conexión antes de que se pasen las credenciales si la huella digital es diferente de la huella digital que se almacena en la caché en el cliente.

Detalles

SSH establece un canal seguro, en cuyo punto el servidor proporciona su huella digital de clave pública. Todo esto está totalmente encriptado. Durante el intercambio de claves ( RFC4253 ) el servidor firma varios datos con su clave privada para que el cliente autenticar. Esto demuestra que el servidor tiene la clave privada para la cual el cliente tiene la clave pública.

Cada cliente debería mostrar la huella digital con la que se estableció el túnel. La autenticación del servidor depende completamente del usuario en este punto. Si no reconoce la huella digital, no debe iniciar sesión. Si la huella digital ha cambiado desde la última vez que inició sesión en esa dirección IP, el cliente debería notificarle antes de que se envíen las credenciales al servidor. Lo que le permite verificar dos veces con un administrador del servidor antes de continuar.

Digo que todos los clientes deberían hacerlo porque esto depende completamente de la implementación y hay demasiadas implementaciones de SSH para contar. En general, aunque las implementaciones SSH más populares (PuTTY, OpenSSH, WinSCP) toman estas precauciones.

    
respondido por el RoraΖ 29.09.2015 - 15:18
fuente

Lea otras preguntas en las etiquetas