2011-12-28 11 views
60

No puedo desconectarme y sincronizarme con un sistema remoto. Se sigue dando este mensaje de error:Ubuntu-ssh - - ADVERTENCIA: LA IDENTIFICACIÓN DEL HOSPEDANTE REMOTO HA CAMBIADO

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 
a3:8f:7c:07:c9:12:d8:aa:cd:c2:ba:b3:27:68:bc:c2. 
Please contact your system administrator. 
Add correct host key in /root/.ssh/known_hosts to get rid of this message. 
Offending RSA key in /root/.ssh/known_hosts:8 
RSA host key for xxx.xxx.xxx.xxx has changed and you have requested strict checking. 
Host key verification failed. 
rsync: connection unexpectedly closed (0 bytes received so far) [sender] 
rsync error: unexplained error (code 255) at io.c(601) [sender=3.0.8] 

He quitado authorized_keys archivo desde /home/user/.ssh.

+0

También puedes ver por favor el mensaje de error rsync, ssh: conectar al servidor de puerto xxx.xxx.xxx.xxx 22: Conexión rechazada rsync: conexión inesperadamente cerrada (0 bytes recibidos hasta ahora) [remitente] error rsync: error inexplicado (código 255) en io.c (601) [sender = 3.0.8] – thiyagu114

+0

si no es el sistema de producción, entonces usted puede hacer truncar -s 0 /root/.ssh/known_hosts – AMB

+0

https://in.godaddy.com/help/ssh-login-warning-remote-host-identification-has-changed-12161 – NandhaKumar

Respuesta

63

El mensaje dice "/root/.ssh/known_hosts" not authorized_keys. ¡Elimine ese archivo (o al menos la clave correspondiente) de él y puede continuar! Pero tenga en cuenta que: debe haber una razón por la cual la clave ha cambiado. ¿Se reinstaló el sistema? Asegúrate de verificar eso o la idea de ssh es nula.

BTW .: ¿Hay alguna razón por la que ssh como root?

+0

Eliminar el correspondiente key '' '$ ssh-keygen -R {server.name.com}' '' | '' '$ ssh-keygen -R {ssh.server.ip.address}' '' | '' '$ ssh-keygen -R server.example.com''' – DaddyMoe

+0

@Nikodemus Oye, cuando elimino' ssh-keygen -f "/root/.ssh/known_hosts" -R instance_ip 'ahora muestra el error 'Permiso denegado (publickey, gssapi-keyex, gssapi-with-mic) .' ¿Cómo debo tratarlo? – awhitesong

20

El mensaje no explica en sí:

  • El host remoto se identificó con una clave
  • Su copia anterior de la clave para ese host es diferente
  • por lo que hay una posibilidad de que el host remoto no es quien dice ser

Si confía en el host remoto, puede eliminar la línea 8 de sus /root/.ssh/known_hosts y ssh le preguntará si se puede añadir el nuevo próxima vez que clave intente conectar

Si no confía en el host remoto, debe ponerse en contacto con los administradores del host para averiguar si y por qué cambiaron las claves ssh. Si ellos no tienen que significa que su tráfico está siendo interceptada

Por otro lado, si realmente confiar totalmente en el host remoto (por ejemplo, que está en una intranet), puede ejecutar ssh con

-oBatchMode=yes -oStrictHostKeyChecking=no 
6

Sólo hacer esto:

mv .ssh/known_hosts .ssh/known_hosts_old 
+1

de lejos la mejor respuesta! – Jim

+12

No hay ninguna razón para eliminar el archivo completo cuando el problema es solo un único host. – Jian

+2

Parece una cosa imprudente aconsejar a alguien que no esté familiarizado con el funcionamiento de ssh y las claves de host. ¿Puedes agregar más detalles a tu respuesta sobre cuáles son las implicaciones para hacer esto? –

120

utilizar el siguiente comando que elimina las claves antiguas de .ssh/known_hosts archivo

ssh-keygen -R <host> 
+4

Si Google lo envió aquí, mientras busca una respuesta sobre por qué repentinamente no puede acceder a su caja vagabunda, esta respuesta será de gran ayuda. Al iniciar un nuevo y diferente cuadro vagabundo, ese cuadro puede generar una nueva clave rsa que será diferente de la clave rsa previamente registrada para ese mismo host local. Si este es el caso, puede confiar en que el cambio es solo una molestia, y puede eliminar la clave inválida anterior – andkrup

+1

No solo para Vagrant, si reinstala su máquina, la clave cambiará. Esta parece ser la solución más limpia y segura. –

+0

alguna idea de qué probar si esto no funciona ?! – Stefan

11

Puede usar sed para eliminar la clave infractor en línea 8 de su archivo known_hosts:

sed -i -e 8d /root/.ssh/known_hosts 
+0

Sí, esto: lo hizo por mí ! :-) sed -i -e 36d known_hosts – Darby

+0

Funcionó muy bien para mí –

Cuestiones relacionadas