Esto parece ser una respuesta relevante a su pregunta: Verificación de la huella digital de SSH de un servidor público
En resumen, el servidor SSH tiene una clave pública y privada que se usa al establecer una conexión desde el cliente SSH. El servidor proporcionará una copia de su clave pública al cliente donde se presenta al usuario para su verificación. El usuario es responsable de validar esa clave con el administrador del servidor y luego aceptar la clave.
Una vez aceptado, el usuario solo volverá a ver eso si la clave cambia. Cuando la clave cambia, puede tratarse de una nueva clave realizada en el servidor por el administrador o mediante un ataque de estilo MITM; tendría que volver a verificar la clave con el administrador para ver cuál es cuál.
No hay un 'desafío', ya que creo que lo estás intentando decir, ya que así es como Public-Key La criptografía funciona.
EDITAR:
Un servidor SSH generará automáticamente sus claves de host durante la instalación mediante el uso de la aplicación ssh-keygen
. Esto normalmente crea una clave RSA, DSA, ecdsa o ed25519, o alguna variación de las mismas (según la configuración).
Un cliente que se conecta al servidor usará ssh-keyscan
para verificar la huella digital del servidor y se lo presentará a usted como usuario para su verificación. Cuando acepta esa clave, la escribe en el archivo ~/.ssh/known_hosts
para recordarla. Cada vez que su cliente ssh se conecta a ese servidor, lee la huella digital, la verifica en el archivo known_hosts
y se asegura de que no haya cambiado. Si lo hace, a usted, el usuario, se le muestra una advertencia de que la clave ha cambiado y la conexión se ha detenido. Debe eliminar o alterar manualmente la clave para poder conectarse de nuevo.
$ ssh-keyscan some.remote.server
some.remote.server ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA8BPNr+Q8cQfU95jfJKIfAH+z0+q03QDeFH1ndeTC3Zf0EDjZOg1OXs+Xiwjgrkq+vcNIA5DPaux3aStrcSa5o1AjgBNKN4rMyaLMW1c5LUnSic2oE7YTGvO1AHL55+Z4rCiEbDHeK2LXwhZifNvqkxf44pKrIe8kCvt89dkRsCria4n5EedGazKxO0mvbHM9JSpg03CiD4B+/afOrZqCJrf5dYcDCmeiBPSn9vjiZzAl2NYj05GVSqoe8KeFQV9n4c4LtWfzSDshvLlypuSfylzhL3euWG6JP8G6HnBohSiSQFk/Y0VFX/4wYshKjN3px0ugYUrucXXv8Sznv6n1Dw==
Si abrieras el archivo known_hosts
en mi sistema, verías esta entrada exacta allí.
EDIT 2:
Al leer los comentarios, parece que estás atascado en este bit de huella digital. La huella digital es la parte pública de criptografía de clave pública. Realmente deberías leer más sobre esto ya que te vinculé antes para comprender completamente este concepto. En Crypto de clave pública, una clave privada y una clave pública se crean matemáticamente simultáneamente. Este par de claves tiene una habilidad especial en el sentido de que cualquier cosa encriptada por la clave privada puede SOLAMENTE ser descifrada por la clave pública y cualquier cosa encriptada por la clave pública puede SOLAMENTE ser descifrada por el Llave privada. Esto es cyrpto asimétrico, NO criptografía simétrica (usando una clave para cifrar / descifrar).
También debe comprender cómo funciona la firma para comprender el uso del cifrado de clave pública. Si escribo un mensaje en texto sin formato y se lo envío, usted no sabe que lo envié. Si, por el contrario, escribo un mensaje de texto simple y en la parte inferior agrego un blob cifrado que contiene un hash del mensaje y se cifró con mi clave privada, entonces mi clave pública puede usarse para descifrar el blob, el mensaje de texto simple original puede se hash y se compara con el hash que incluí en el blob encriptado.
Este mismo concepto se aplica aquí con SSH. Dado que solo la clave privada utilizada en el servidor es capaz de trabajar con la clave pública que tiene su cliente, puede probar matemáticamente que son la misma máquina.
Como mencioné en mi comentario, es casi imposible generar dos claves privadas que sean una coincidencia exacta, proporcionando así una huella dactilar duplicada. Si pudiera generar una clave privada que fuera exactamente igual a la clave privada de otro servidor, entonces sí, tendría la misma huella digital que cualquier otro servidor. Considere esto como imposible hoy.