El mes pasado, decidí actualizar el servidor donde se encuentra actualmente Our Code World para un servidor realmente mejor. Como siempre hago, adquirí el nuevo servidor y comencé a configurarlo para migrar los datos del servidor anterior. Después de un tiempo, fui al panel de administración del servidor en su sitio web para eliminar el antiguo archivo de clave raíz y noté que el centro de datos donde se encontraba el servidor no estaba en Estados Unidos, sino en Francia. El centro de datos elegido era incorrecto, así que solicité un nuevo servidor en Estados Unidos. Después de la implementación, instalé el nuevo sistema operativo, pero instalé la versión incorrecta de Ubuntu (16 en lugar de 18.04), así que limpié una vez más el servidorð¤£. Después de comprobar finalmente que todo lo que instalé era la versión correcta de Ubuntu, intenté acceder al servidor a través de SSH, para mi sorpresa una vez más aparecio el siguiente error:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:5
RSA host key for [192.xxx.xx.xx]:22 has changed and you have requested strict checking.
Host key verification failed.
El problema se debe a que se está conectando a un servidor al que estaba conectado anteriormente, pero cuyo host RSA cambió desde la última vez que se conectó a él (me conecté a la primera versión del servidor con Ubuntu 16.04 y luego intenté conectarme a el mismo servidor con Ubuntu 18.04 y apareció la excepción). Para evitar cualquier violación de seguridad, deberá eliminar esta clave del known_hosts
archivo de su máquina local para poder conectarse correctamente.
A. Quitar manualmente la llave infractora
Bueno, eliminar el archivo known_hosts es una solución válida siempre que no le importe tener que confirmar cada vez que se conecta a algún servidor que la huella digital es válida, así que no elimine el known_hosts
archivo . La solución más fácil es simplemente eliminar la línea con el problema en el archivo, en nuestro caso el mensaje de excepción nos advirtió que la clave ofensiva está en la línea # 5:
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:5
Entonces, solo necesitaría eliminar la línea, usando un solo comando como este (reemplace 5 con el número de su línea):
sed -i '5d' ~/.ssh/known_hosts
Y eso es. Alternativamente, modifique el known_hosts
archivo usando un editor de terminal como nano o vim y elimine la línea usted mismo.
B. Usando ssh-agent
Alternativamente, puede usar la herramienta ssh-keygen para simplemente eliminar la clave ofensiva si conoce el nombre de host / ip:
ssh-keygen -R <SERVER_IP_OR_HOSTNAME> -f ~/.ssh/known_hosts
Esto también debería funcionar para evitar que la advertencia aparezca en la terminal.
Que te diviertas ❤️!
Conviertete en un programador más sociable