Para FTPS, confiamos en el DNS y la PKI pública para autenticar el servidor FTP cuando nos conectamos por primera vez. En la primera conexión, foo.example.com se resuelve en 1.2.3.4 y mi conexión se vuelve encriptada por una clave privada que puedo validar que realmente es propiedad de foo.example.com (más o menos, dados los problemas con PKI).
¿Pero cómo funciona esto con SFTP (sí, sé que es SSH pero no estoy muy familiarizado con eso)?
Sé que hay dos formas comunes en que las personas usan SFTP con respecto a esta pregunta:
- El cliente es consciente de la clave que se utilizará para la conexión por adelantado. Esto tiene sentido y es obvio para mi pregunta. No estoy preguntando por esto.
- El cliente desconoce de antemano la clave que se utilizará para la conexión. En su lugar tienen un nombre de usuario y una contraseña. Este es el escenario en el que estoy preguntando específicamente.
Para ese segundo escenario, cuando me conecto por primera vez al servidor SFTP, ¿cómo puedo estar seguro de que realmente es mi servidor deseado y no otro servidor que realiza un ataque MITM para luego obtener mi contraseña? robado) y / o datos?
Encontré esto pregunta pero no parece abordar el tema de la autenticación del servidor, solo la autenticación del cliente.