Me cuesta entender cuál es la diferencia entre las claves de host SSH y los certificados. ¿Cuándo usar cuál? ¿En qué se diferencian?
Con una clave de host SSH, el cliente ya debe confiar en el host o tiene que aceptar la huella digital en el contacto inicial, por supuesto, solo después de validar que la huella digital coincide con la esperada. Cuando se utiliza un certificado, la clave de host se coloca dentro de este certificado y las características adicionales del certificado, como el sujeto, el emisor y la firma del emisor, hacen posible derivar confianza en una clave de host aún desconocida a partir de la confianza en el emisor. También hace posible tener una vida útil limitada de la clave de host y revocarla. Esencialmente, el uso de un certificado hace posible el uso de una PKI que hace que todo sea más escalable.
Si entiende cómo funciona la validación de certificados en los navegadores, también puede compararla con los certificados autofirmados frente a los certificados emitidos por CA: la clave de host simple es comparable a un certificado autofirmado, en el que uno necesita explícitamente agregar la confianza a cada navegador. La clave de host dentro de un certificado junto con una PKI es similar a los certificados emitidos por la CA que tenemos en casi todos los casos al acceder a una URL https. En estos casos, la confianza en el certificado del servidor se deriva de la confianza en las CA raíz ubicadas en el almacén de confianza del navegador o sistema operativo, es decir, solo estas CA raíz deben ser conocidas por adelantado pero no cada certificado de servidor.
Lea otras preguntas en las etiquetas ssh