¿Cómo se autentica la clave pública durante una sesión ssh?

1

Al usar SSH, mi clave privada se almacena en mi computadora de manera segura y mi clave pública se entrega a la otra parte con la que deseo comunicarme.

Comprendo que las dos claves están relacionadas matemáticamente, por lo que lo que está cifrado con la clave pública se puede descifrar (solo) con mi clave privada.

Cuando comencé una sesión SSH ahora, comunicándome con un servidor Linux, recibí un mensaje " Autentificando con la clave pública" importado-openssh-key ""

¿Qué está sucediendo exactamente aquí para autenticarlo? Supongo que el servidor simplemente me escribe un mensaje conocido, lo cifra con mi clave pública. Luego lo descifro de mi lado con mi clave privada y envío el mensaje al servidor donde se compara el mensaje.

¿Es así como funciona o hay algo más matemáticamente complicado detrás de esto?

    
pregunta Engineer999 14.12.2018 - 10:58
fuente

1 respuesta

1

¿Qué pasa con esta descripción ?

  
  1. El cliente comienza enviando una ID para el par de claves con el que desea autenticarse en el servidor.
  2.   
  3. El servidor comprueba el archivo authorized_keys de la cuenta en la que el cliente está intentando iniciar sesión para obtener la ID de la clave.
  4.   
  5. Si se encuentra una clave pública con ID coincidente en el archivo, el servidor genera un número aleatorio y usa la clave pública para cifrar el número.
  6.   
  7. El servidor envía al cliente este mensaje cifrado.
  8.   
  9. Si el cliente realmente tiene la clave privada asociada, podrá descifrar el mensaje usando esa clave, revelando el número original.
  10.   
  11. El cliente combina el número descifrado con la clave de sesión compartida que se usa para cifrar la comunicación y calcula el hash MD5 de este valor.
  12.   
  13. El cliente luego envía este hash MD5 al servidor como respuesta al mensaje del número cifrado.
  14.   
  15. El servidor utiliza la misma clave de sesión compartida y el número original que envió al cliente para calcular el valor de MD5 por sí solo. Compara su propio cálculo con el que el cliente devolvió. Si estos dos valores coinciden, se demuestra que el cliente estaba en posesión de la clave privada y que el cliente está autenticado.
  16.   
    
respondido por el aleksashka 14.12.2018 - 18:33
fuente

Lea otras preguntas en las etiquetas