Problema de conexión SSH con " Error en la verificación de la clave de host..." error

Puedo conectarme a otra máquina Ubuntu en mi LAN a través de SSH. En ambas PC instalé openssh-servidor pero desde otra computadora Ubuntu no puedo conectarme a mi PC a través de SSH y recibí este error:

Error en la verificación de la clave de host...

"Error en la verificación de la clave de host" significa que el host se ha cambiado la clave del host remoto.

SSH almacena las claves de host de los hosts remotos en ~/.ssh/known_hosts. Puede editar ese archivo de texto manualmente y eliminar la clave anterior (puede ver el número de línea en el mensaje de error) o usar

ssh-keygen -R hostname

De página de manual:

- R nombre de host
Elimina todas las claves que pertenecen a hostname de un archivo known_hosts. Esta opción es útil para eliminar hosts con hash.

(que aprendí de la respuesta aEs posible eliminar una clave de host en particular del archivo known_hosts de SSH?).

Si está ejecutando en ciertas situaciones remotas/de secuencias de comandos en las que carece de acceso interactivo a la prompt-to-add-hostkey, solucione esto de esta manera:

$ ssh -o StrictHostKeyChecking=no user@something.example.com uptime

Advertencia: Añadido permanentemente 'something.example.com,10.11.12.13' (RSA) a la lista de hosts conocidos.

También a veces hay una situación en la que está trabajando en una consola en serie y luego verifica el comando anterior en modo detallado -v te mostraré /dev/tty no existe, mientras que lo hace.

ssh -v user@hostname

En el caso anterior, simplemente elimine /dev/tty y crear un enlace simbólico de /dev/ttyS0 a /dev/tty.

rm /dev/ttyln -s /dev/ttyS0 /dev/tty

Como alternativa, agregue id_rsa.pub a la ubicación remota, por lo que no se le solicita la contraseña y obtiene acceso de inicio de sesión.

En mi caso, esto fue causado por un problema de udev , no hubo /dev/tty nodo de dispositivo. La solución para mí era simplemente:

sudo mknod -m 666 /dev/tty c 5 0

En la terminal:

ssh -o StrictHostKeyChecking=no -i YourPublicKey.pem user@example.com uptime

Aparecerá el siguiente mensaje, o similar:

Warning: Permanently added 'example.com, XX.XXX.XXX.XX' (ECDSA) to the list of known hosts. 00:47:37 up 3 min,  0 users,  load average: 0.00, 0.00, 0.00

Luego, conéctese a su EC2 como de costumbre:

ssh -i YourPublickey.pem user@example.com

Puede ser que solo necesite ingresar " sí " cuando ssh confirme que desea continuar con el cifrado.

Como Bellow.

The authenticity of host 'xxx' can't be established.ECDSA key fingerprint is yyy.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'xxx' (ECDSA) to the list of known hosts.Enter passphrase for key '/Users/ysy/.ssh/id_rsa':

A continuación, introduzca su contraseña.

Por favor, preste atención a "¿Está seguro de que desea continuar conectándose (sí / no)? ". Debe ingresar sí, no ingrese.

debe colocar la clave rsa del host de destino en el host de origen /home/user/.ssh/known_hosts ejecutando esto en el objetivo

ssh-keyscan -t rsa @targethost

Bueno, simplemente porque el segundo ubuntu requiere conexión por clave y no por contraseña.

Te sugiero que uses sudo dpkg-reconfigure openssh-server en su PC, y luego debería funcionar correctamente. Restablecerá la configuración de Openssh y debería volver a una autenticación de contraseña predeterminada.

La segunda posibilidad es que ya haya una clave para su otro ubuntu en su PC, y que haya cambiado, por lo que ya no se reconoce. En este caso, tendrás que editar el archivo .ssh/authorized_keys para eliminar la línea problemática que identifica su ubuntu.

Este es un hilo antiguo y acabo de encontrar esta respuesta, solo agregaré lo que hice para resolver esto.

ssh-keygen -f "/home/USER/.ssh/known_hosts" -R HOSTNAME

Solo miré el mensaje de error que me arrojó y me dijo que ejecutara ese comando para eliminarlo de la lista de hosts. Después de eso hice lo siguiente:

ssh-copy-id HOSTNAME

Luego seguí las indicaciones desde allí hasta que pude ingresar al servidor.

Debe cambiar su clave de esta manera: A partir de su error dado, encuentre qué clave de host cambió, por ejemplo: clave ECDSA ofensiva en /Users/user-name/.ssh / known_hosts: 5se dijo que la quinta clave cambió, así que haga esto:

sed -i '5d' ~/.ssh/known_hosts

Aviso: debe ser root o tener privilegios para sudo.

D ¿Utiliza nombres de host o direcciones IP?

No es similar, pero obtuve el mismo error pero debido a un problema diferente: ubuntu - Managing multiple servers behind a firewall with SSH reverse tunnel - Server Fault

Este no es un problema específico de Ubuntu. Puede ocurrir con cualquier ’ ssh ’ desde la línea de comandos.