Advertencia de "clave ofensiva" al conectarme por ssh a mi VPS

Advertencia de "clave ofensiva" al conectarme por ssh a mi VPS

Cuando ejecuto:

ssh root@myVPS

Recibo la siguiente advertencia:

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

y si escribo "sí", funciona bien, pero no sé por qué aparece esta advertencia. ¿Alguna sugerencia de por qué se lanza y cómo evitarlo?

Respuesta1

Lo más probable es que hayas reinstalado tu VPS en algún momento y hayas conservado el nombre del host y/o la dirección IP. Al reinstalar, la clave de host del VPS se regeneró y, dado que difiere de la de su ~/.ssh/known_hosts, se muestra la advertencia para que pueda detectar el problema. Esto se hace para evitar que se conecte a un sistema completamente diferente que reemplaza al host legítimo, por ejemplo, para recopilar contraseñas.

Si sucedió algo así, simplemente elimine la clave infractora de su known_hostsarchivo y todo estará bien, pero si no está al tanto de dicha reinstalación, debe investigar más a fondo para comprender por qué la clave difiere.

Respuesta2

Tuve el mismo problema y es muy fácil de resolver. Abra su archivo conocido_hosts vi .ssh/known_hostsy busque el nombre de su servidor. Si encuentra que la clave de host está allí sin la dirección IP, agregue su IP a ese archivo y resolverá su problema. Antes:

myVPS ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

Después de agregar IP:

myVPS,198.51.100.42 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsIfCSqA2rSlTvH8AMrMjpD66y5dOsYOPp30AXYGAEAFkVBs1+51lbRNyiFenpbxOyQjyvpgVJdkC4kqgG66xE6IPBrqpUFL3KjbUCTZ8sNHWn+I89bAMWDzGEiqaad/powDxgZgFe74bV82Se1igbFmHlHwwb7DEAcjXh34XbcMgJ0vIExJqPV1zccKkCXhstQy7av0+I7GRz5wIbYiIFMungKIhX3upwQOzyW/E1RDmq89BRv1g2ch1xsKK5OpNjCCFP2OSYPybJmFXhjOWI7LUdFASmaw5Z1az9LLpLKQePQ4mWsL/ON8Z9uvzhQig3hdQ/cnrAsRLShn4rJratw==

Respuesta3

Tienes que borrar tanto el nombre de host como la dirección IP de tu archivoknown_hosts, puedes hacerlo así:

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]

Simplemente reemplácelo somehostname.netcon el nombre de host o el nombre de dominio del host que desea borrar y reemplace la dirección IP con la dirección IP del host (deje los corchetes). Si funcionó, verás un mensaje como este:

/home/yourname/.ssh/known_hosts updated.
Original contents retained as /home/yourname/.ssh/known_hosts.old

Si no funcionó, intente lo mismo pero sin los corchetes, también verifique que el nombre de host y la dirección IP sean correctos:

ssh-keygen -f ~/.ssh/known_hosts -R somehostname.net
ssh-keygen -f ~/.ssh/known_hosts -R 123.123.123.123

Si el puerto SSH del host está en un puerto diferente, diga 2222 en lugar de 22, luego simplemente agregue el puerto de esta manera:

ssh-keygen -f ~/.ssh/known_hosts -R [somehostname.net]:2222
ssh-keygen -f ~/.ssh/known_hosts -R [123.123.123.123]:2222

Respuesta4

Si tiene un error como este:

Warning: the RSA host key for 'myVPS' differs from the key for the IP address 'xxx.xx.xxx.xx'
Offending key for IP in /home/manolo/.ssh/known_hosts:1
Matching host key in /home/manolo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?

simplemente elimine la línea 1 en su archivoknown_hosts. Luego, la próxima vez que ejecute el comando git, agregará el nuevo host RSA.

información relacionada