Autenticación del servidor mediante Claves públicas

La sesión de Secure Shell es compatible con dos tipos de autenticación del servidor: clave pública y certificado (una forma especial de autenticación con clave pública).

Cuando la autenticación de clave pública se utiliza para la autenticación del host, se produce la siguiente secuencia de eventos.

  1. El Secure Shell inicia una conexión.

  2. El servidor envía su clave pública al cliente.

  3. El cliente busca la clave en su almacén de claves del host de confianza.

    Si el cliente

    Ocurre lo siguiente

    Encuentra la clave del host y la copia del cliente coincide con la clave enviada por el servidor

    La autenticación pasa al siguiente paso.

    No encuentra la clave del host

    El cliente muestra un mensaje que indica que el host es desconocido y proporciona una huella digital de la clave del host. Si el cliente está configurado para permitir que el usuario acepte claves desconocidas (valor predeterminado), el usuario puede aceptar la clave, y la autenticación pasa al siguiente paso.

    Si se fuerza la comprobación estricta de claves del host, el cliente finaliza la conexión.

    Encuentra la clave del host y la copia del cliente no coincide con la clave enviada por el servidor

    El cliente muestra una advertencia que indica que la clave no coincide con la clave existente y muestra la huella digital de la clave enviada por el servidor. Si el cliente está configurado para permitir que el usuario acepte claves desconocidas (valor predeterminado), el usuario puede aceptar la nueva clave.

    Si se fuerza la comprobación estricta de claves del host, el cliente finaliza la conexión.

  4. Para confirmar que el servidor realmente tiene la clave privada que corresponde a la clave pública recibida, el cliente envía una comprobación (un mensaje arbitrario) al servidor y calcula una basada en este mensaje de texto.

  5. El servidor crea una firma digital basada en el mensaje de comprobación. Para ello, el servidor calcula de manera independiente la huella digital del mensaje y, a continuación, la cifra con su clave privada. El servidor conecta esta firma digital con la comprobación original y devuelve este mensaje firmado al cliente.

  6. El cliente descifra la firma con la clave pública y compara la huella digital con su propia huella digital calculada. Si los valores coinciden, la autenticación del host se realiza correctamente.