WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

shell> ssh remote-host
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
46:75:82:16:14:02:e7:17:1e:f8:44:4a:e0:20:78:57.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Offending key in ~/.ssh/known_hosts:21
RSA host key for remote-host has changed and you have requested strict checking.
Host key verification failed.
Yo creo que a todos alguna vez nos ha salido este fallo al intentar conectarnos vía ssh a algún equipo. Este fallo puede venir producido por dos cosas principalmente,
  1. Ataque man-in-the-middle
    Este es el principal motivo por el que por defecto ssh no permite conectar a equipos a los que se le haya modificado su clave pública. Puede que haya 'algo' intermedio que esté capturando nuestras credenciales al intentar conectarnos y de ahí que de la advertencia.
  2. Nueva instalación
    Este es el otro motivo por le que suelen suceder este tipo de mensajes. Cuando un administrador reinstala el equipo o su IP es reutilizada en otro equipo, pero siendo conscientes de ello y no se han conservado las claves publica-privada, de ahí que aparezca esta advertencia.

Realmente este 'fallo' hay que saber el motivo por el que aparece y en caso de ser conscientes de él y aceptarlo, entonces podremos proseguir conectándonos al equipo sin riesgo alguno. Si aparece sin motivo, entonces habrá que comprobar que el fingerprint del mensaje coincida con el del equipo, para saber que no estamos ante un ataque MitM. Para solucionar este fallo podemos hacerlo de dos formas,

  • Editar el fichero knonw_hosts
    El el propio warning nos sale la línea del fichero known_hosts que avisa del cambio, por lo que editando el fichero y borrando dicha línea al volver a conectar ya no aparecería el mensaje. En las últimas versiones de ssh, ya no se almacena el nombre del equipo, sino que se oculta sobre la HMAC, por lo que complica encontrar el equipo afectado en dicho fichero.
  • Comando ssh-keygen
    Esta es la forma lógica de hacerlo y no es otra que pasarle la opción -R (remove) para que sea el propio comando el que gestione de forma eficiente el fichero known_hosts.
    shell> ssh-keygen -R remote-host
    


No hay comentarios :

Publicar un comentario

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios