Menudo título!
Pero hay que ponerlo algo descriptivo, si no no hay quien lo encuentre luego.
El caso es que esta mañana, al querer entrar en un servidor de los que uso poco, me he encontrado con el siguiente mensaje:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:URdQeERn/6DX063AdUBv2UrnhKkmvrW5n6jwDm78dnQ.
Please contact your system administrator.
Resulta que hace unos días actualicé el firmware de este equipo. No creía que nadie se hubiera metido en medio, pero necesitaba algo que me permitiese probarlo, así que necesitaba una forma de obtener el fingerprint de la clave desde dentro del propio servidor.
La forma de conseguirlo es la siguiente:
# ssh-keygen -lf /etc/ssh/ssh_host_rsa_key
La salida fué la siguiente:2048 SHA256:URdQeERn/URdQeERn/6DX063AdUBv2UrnhKkmvrW5n6jwDm78dnQ no comment (RSA)
Eso me confirmó que el cambio de clave se debía a la actualización del firmware y no de que alguien se hubiese metido en medio
Servidor mac osX
Cuando tratamos de conectarnos con un equipo con mac os X, el comando correcto para comparar la clave con la que indica el cliente es:
# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub
Para comprobar la que tiene almacenada el cliente desde el que queremos conectar emplearemos:
# ssh-keygen -l -F <nombre_del_host>