Tutoriales

Cómo arreglar la identidad del host remoto cambió cuando ssh

Al acceder a un servidor remoto desde el host, es posible que encuentre los siguientes errores: «Advertencia: ¡La identidad del host remoto ha cambiado!» Con un mensaje largo como la captura de pantalla adjunta.

ID de host remoto cambiado

Este error generalmente se marca cuando la clave pública de su host remoto no coincide con la clave pública almacenada ~/.ssh/hosts_conocidos El archivo está en su sistema host local actual, y cuando la dirección IP de su máquina virtual usa la misma dirección IP que otra computadora, esta es una de las razones principales de este error.

Por ejemplo, la máquina virtual (A) usa la dirección IP 192.168.1.104, está conectada a su red y cuando accede a la máquina virtual (A) mediante SSH en la PC remota, almacena la clave pública en ~/.ssh/hosts_conocidos.

Unos días más tarde, elimina la máquina virtual (A) e instala una nueva máquina virtual (B), y de alguna manera a la máquina (B) se le ha asignado la misma dirección IP que a la máquina (A).

Y cuando intente iniciar sesión en la máquina virtual (B) a través de la máquina remota, aparecerá el error anterior porque ~/.ssh/hosts_conocidos Contiene la clave pública de la máquina virtual (A), pero no la máquina virtual mal etiquetada (B).

Una vez que sepa la causa del problema, solucionémoslo ejecutando el siguiente comando, que eliminará la clave pública para el host específico.

Solución: la identidad del host remoto cambió

Hay varias formas de corregir el error anterior, como manualmente desde ~/.ssh/hosts_conocidosde lo contrario puedes usar ssh-keygen Comando para borrar la antigua clave pública.

Elimine la clave pública usando el comando ssh-keygen

Si está buscando una respuesta simple, debe usar este método que eliminará la clave pública para un host específico, si lee el mensaje de error, también le sugiere que lo haga. ssh-keygen comando para resolver este problema.

Puede solucionar el problema anterior invocando cualquiera de los comandos en los siguientes fragmentos de código.

$ ssh-keygen -R [hostname]
$ ssh-keygen -R [ipaddress]
$ ssh-keygen -f “/home/username.ssh/known_hosts” -R “ip-address”

Para explicarle mejor, permítame ejecutar el siguiente comando en la pantalla de la terminal para que pueda comprender mejor el uso del comando.

$ ssh-keygen -R 192.168.1.107
Eliminar clave pública usando ssh-keygen
Eliminar clave pública usando ssh-keygen

Después de eso, puede intentar iniciar sesión nuevamente y verá que su problema se ha resuelto.

Iniciar sesión a través de SSH
Iniciar sesión a través de SSH

Eliminar manualmente la clave pública ~/.ssh/known_hosts

Alternativamente, puede manualmente /.ssh/hosts_conocidos. Para hacer esto, debe editar el siguiente archivo con el editor vim, que lo llevará directamente a donde está la clave.

Encuentra la ubicación de la clave pública anfitrión conocido, Puede usar el mensaje de error anterior para encontrar la clave de host en la que se encuentra ~/.ssh/conocido_hosts.

En mi caso, la clave pública se mantiene en la línea 6.

Offending ED25519 key in /home/trendoceans/.ssh/known_hosts:6
$ vim +6  ~/.ssh/known_hosts

Después de abrir el archivo, presionando la tecla ESC y llamando dd Comando para eliminar líneas específicas. Después de realizar los cambios, guárdelos e intente iniciar sesión nuevamente.

volver a registrarse
volver a registrarse

hoja de trucos

Ordenardescribir
vim +line-number ~/.ssh/known_hostsEliminará la clave de host pública anterior del archivo ~/.ssh/known_hosts
ssh-keygen -R hostnameEliminará la clave de host pública anterior del archivo ~/.ssh/known_hosts

envolver

Eso es todo lo que hay que hacer para arreglar la identidad del host remoto modificada durante SSH, no dude en enviar sus comentarios, sugerencias o correcciones.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba