Estoy iniciando sesión en un cuadro de Debian y recibo la alerta de seguridad que me muestra la clave pública del host. Cuando comparo la clave pública completa informada por PuTTY con la de ~/.ssh/authorized_keys encuentro que no coinciden.
¿Me han sometido a MITM o estoy entendiendo mal algo?
Respuesta1
No me queda claro qué papel juega la clave privada /etc/ssh/ssh_host_${type}_key en la conexión. No está claro cómo ayuda que el servidor me envíe una clave pública cuando un atacante podría simplemente verificar qué clave pública se envía desde el servidor atacado, interponerse en el medio y simplemente falsificar exactamente esa misma clave pública.
Para ser claros, el servidor en realidad no le está reenviando su clave pública. El servidor tienesu propioclave completamente separada que le envía: la "clave de host". Tanto la parte pública como la privada de la clave del host se almacenan en /etc/ssh.
El servidor nojustoenviar la clave pública; también envía unfirmarealizada utilizando la correspondiente clave privada, que el cliente podrá utilizar como prueba. (Los datos que se firman son únicos para cada conexión). Un atacante podría enviar la misma clave pública pero no podría generar una firma.
Así es también como funcionan los certificados en SSL/TLS (HTTPS y similares).
El servidor también verifica su propia clave de autenticación de la misma manera; es decir, PuTTY no solo envía su clave pública, sino que utiliza su clave privada para firmar el mensaje, de modo que otra persona no pueda iniciar sesión como usted simplemente. mirando su archivo de claves_autorizadas.