Cosas de SSH


En ocasiones, cuando queremos establecer una conexión por ssh con alguna maquina, para tareas de mantenimiento, nos encontramos con un mensaje de alerta algo alarmante:


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@           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
dd:1a:9a:8f:e2:b9:aa:ee:9b:f3:8a:bd:5b:5c:28:ea.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:2
RSA host key for IP_DEL_EQUIPO has changed and you have requested strict checking.
Host key verification failed.

Lo que traducido al Español viene a decir:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@               ADVERTENCIA: IDENTIFICACIÓN host remoto ha cambiado!         @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ES POSIBLE QUE ALGUIEN ESTÁ HACIENDO ALGO DESAGRADABLE!
Alguien podría estar espiando ahora mismo (man-in-the-middle)!
También es posible que la clave RSA sólo se ha cambiado.
La huella de la clave RSA enviado por el host remoto
dd: 1a: 9a: 8f: e2: b9: aa: ee: 9b: f3: 8a: bd: 5b 5c: 28: ea.
Por favor, póngase en contacto con el administrador del sistema.
Añadir clave de host correcto en / home / usuario / .ssh / known_hosts 
para deshacerse de este mensaje.
2: clave en / home / usuario / .ssh / known_hosts Ofender
Clave RSA para IP_DEL_EQUIPO ha cambiado y se ha solicitado la comprobación estricta.
Host Comprobación de las claves ha fallado.

Pues resulta que tampoco es para alarmarse, es bastante común, y suele darse cuando la keys (claves) en el archivo known_hosts son diferentes. Esto puede deberse a diversos motivos (reinstalación, nombre de equipo  o ip cambiaron , la key se borro o modifico etc )
Esta clave es la que se genera la primera vez que se establece una conexión por SSH, os suena:

The authenticity of host 'IP_DEL_EQUIPO  (IP_DEL_EQUIPO )' can't be established.
RSA key fingerprint is dd:1a:9a:8f:e2:b9:aa:ee:9b:f3:8a:bd:5b:5c:28:ea.
Are you sure you want to continue connecting (yes/no)? yes

Bien, hay varias maneras de solucionar esto, la mas directa, es eliminar de nuestro equipo el archivo  /home/usuario/.ssh/known_hosts, ahora bien, esto elimina TODAS las claves de equipos a los que accedemos habitualmente por SSH, que si normalmente administramos cierta cantidad, pues nos va a generar cierta incomodidad al tener que aceptar de nuevo cada conexión, por lo que lo ideal seria eliminar solo la entrada del equipo con el que tenemos el problema, y como siempre, linux tiene esto previsto y hay una orden concreta para hacerlo:

ssh-keygen -R IP_DEL_EQUIPO 

Con esto, la entrada del archivo known_hosts para esa IP quedara limpia y a la espera de un nuevo acceso y confirmación.