Arreglar "¡LA IDENTIFICACIÓN DEL HOST REMOTO HA CAMBIADO!" en el lado del servidor

Arreglar "¡LA IDENTIFICACIÓN DEL HOST REMOTO HA CAMBIADO!" en el lado del servidor

Tenga en cuenta que la pregunta es solucionar el mensaje "¡LA IDENTIFICACIÓN DEL HOST REMOTO HA CAMBIADO!" problemaen el lado del servidor.

Conozco las implicaciones y sé exactamente lo que estoy haciendo.

  • Estoy reinstalando/actualizando mi servidor y quiero que el proceso sea lo más sencillo posible.
  • Durante la reinstalación/actualización, es posible que necesite iniciar la versión antigua o nueva muchas veces.

Por lo tanto, necesito eliminar la advertencia del lado del cliente tanto como sea posible. De lo contrario, tendré que voltear mi ~/known_hostsarchivo de un lado a otro innecesariamente.

Entonces, ¿cómo configurar la huella digital/clave ECDSA de mi nuevo servidor igual que antes?

Respuesta1

Actualización: después de pensarlo un poco, creo que cambiaré mi recomendación para copiar solo los archivos clave y las entradas de configuración que hacen referencia a ellos. Todos los archivos de claves están en /etc/ssh/, tienen un nombre ssh_host_<keytype>_keyy cada uno tiene un archivo de clave pública correspondiente con una .pubextensión. A continuación se muestra un ejemplo con las claves dsa, ecdsa, ed25519 y rsa:

$ cd /etc/ssh
$ ls -l ssh_host_*key*
-rw------- 1 root root  668 Apr  8 03:43 ssh_host_dsa_key
-rw-r--r-- 1 root root  606 Apr  8 03:43 ssh_host_dsa_key.pub
-rw------- 1 root root  227 Apr  8 03:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root  178 Apr  8 03:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root  411 Apr  8 03:43 ssh_host_ed25519_key
-rw-r--r-- 1 root root   98 Apr  8 03:43 ssh_host_ed25519_key.pub
-rw------- 1 root root 1679 Apr  8 03:43 ssh_host_rsa_key
-rw-r--r-- 1 root root  398 Apr  8 03:43 ssh_host_rsa_key.pub

Y puede haber HostKeyentradas en /etc/ssh/sshd_config que le indiquen a sshd que las use. En mi caso, los archivos son sólo los predeterminados, por lo que las líneas relevantes están comentadas:

$ grep HostKey /etc/ssh/sshd_config 
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

Debería poder clonar los archivos clave del servidor original (asegúrese de coincidir con los permisos anteriores) y, si hay entradas sin comentar, también HostKeydebe agregarlas al nuevo archivo de configuración . sshd_configSi tiene otras configuraciones no predeterminadas allí, también querrá copiarlas.

Originalmente recomendé simplemente clonar todo el /etc/ssh/directorio del servidor antiguo al nuevo. Esto tiene la ventaja de que copia automáticamente cualquier cambio de configuración adicional que haya realizado. La desventaja (y la razón por la que he decidido no recomendarla) es que es posible que la configuración anterior no incluya los cambios realizados para mejorar la seguridad.

Por ejemplo, es posible que su configuración anterior no tenga un archivo /etc/ssh/moduli con módulos Diffie-Hellman personalizados, y es posible que la nueva versión del sistema operativo no genere uno automáticamente. Esto sería un problema porque el módulo predeterminado no es muy seguro y, dado que todos solían usar el mismo, un ataque contra él era un ataque contra todos. Veraquíyaquípara más información.

Si la configuración "antigua" de su servidor no es demasiado antigua, ya debería tener un archivo de módulos personalizado, pero eso es sólo un ejemplo; Probablemente hay otras cosas que deberían actualizarse, por lo que probablemente sea mejor usar una configuración mayoritariamente nueva. Por cierto, el uso de módulos diferentes no provocará un error de tipo "ID CAMBIADO", por lo que si ese archivo existe en el servidor anterior, no es necesario copiarlo.

información relacionada