
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.
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

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

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.

Lea también: Cortar, copiar y pegar en el editor Vim
hoja de trucos
Ordenar | describir |
---|---|
vim +line-number ~/.ssh/known_hosts | Eliminará la clave de host pública anterior del archivo ~/.ssh/known_hosts |
ssh-keygen -R hostname | Eliminará 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.

Un tipo apasionado por la tecnología que ha explorado algunas tecnologías increíbles y está explorando más. En el futuro, tuve la oportunidad de trabajar en el desarrollo de Android, Linux, AWS y DevOps utilizando varias herramientas de código abierto.