Tengo un servidor Linux que cada vez que me conecto me muestra el mensaje que cambió la clave de host SSH:
$ ssh root @ host1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@ @ ADVERTENCIA: ¡LA IDENTIFICACIÓN DEL HOSTING REMOTO HA CAMBIADO! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ ¡ES POSIBLE QUE ALGUIEN ESTÉ HACIENDO ALGO MALDITO! ¡Alguien podría estar espiándote ahora mismo (ataque de hombre en el medio)! También es posible que la clave de host RSA se haya cambiado. La huella digital para la clave RSA enviada por el host remoto es 93: a2: 1b: 1c: 5f: 3e: 68: 47: bf: 79: 56: 52: f0: ec: 03: 6b. Por favor, póngase en contacto con el administrador del sistema. Agregue la clave de host correcta en /home/emerson/.ssh/known_hosts para deshacerse de este mensaje. Clave ofensiva en /home/emerson/.ssh/known_hosts:377
La clave de host RSA para host1 ha cambiado y usted ha solicitado una verificación estricta. La verificación de la clave del host ha fallado.
Me mantiene conectado durante unos segundos y luego cierra la conexión.
host1: ~ / .ssh # Lectura del host remoto host1: Restablecimiento de la conexión por parte del par La conexión al host1 cerrada.
¿Alguien sabe qué está pasando y qué puedo hacer para resolver este problema?
Respuestas:
No elimine todo el archivo conocido_hosts según lo recomendado por algunas personas, esto anula totalmente el punto de la advertencia. Es una característica de seguridad para advertirle que puede haber sucedido un hombre en el medio del ataque.
Le sugiero que identifique por qué cree que algo ha cambiado, lo más probable es que una actualización de SSH haya alterado las claves de cifrado debido a un posible agujero de seguridad. Luego puede purgar esa línea específica de su archivo conocido_hosts:
Este d eletes línea 377 como se muestra después de los dos puntos en la advertencia:
Alternativamente, puede eliminar la clave relevante haciendo lo siguiente
NO purgue todo el archivo y asegúrese de que esta sea realmente la máquina a la que desea conectarse antes de purgar la clave específica.
fuente
Creo que aunque algunas de las respuestas aquí abordan el curso de acción recomendado en la pregunta del OP, no responde completamente la pregunta.
La pregunta dice "¿Cómo eliminar la comprobación estricta de claves RSA en SSH y cuál es el problema aquí?"
El problema aquí es, como lo aconsejaron algunos otros, un cambio en el host probablemente debido a la reinstalación del servidor (escenario más común). Y la solución recomendada es eliminar la clave infractora del archivo .ssh / Authorised_keys con un sed en línea.
Sin embargo, no vi ninguna respuesta que aborde la parte específica de la pregunta " Cómo eliminar la comprobación estricta de la clave RSA en SSH ".
Puede eliminar la comprobación de StrictHostKey en su archivo de configuración ssh, generalmente almacenado en
~/.ssh/config
.A continuación se proporciona un ejemplo de bloque de host:
La línea añadida específicamente es la última
StrictHostKeyChecking no
que hace exactamente eso. Dependiendo de su escenario específico, esto puede ser útil para usted, como ejecutar múltiples contenedores virtualizados en un servidor dedicado, con solo unos pocos ips, detener e iniciar otra instancia en la misma ip.fuente
Otra forma de eliminar StrictHostKeyChecking, cuando solo necesita hacerlo para un solo servidor:
fuente
En primer lugar, ¿es esta tu máquina? ¿Cambió a sabiendas las claves de host? Si no, estaría muy preocupado de que algo haya alterado esos datos.
En segundo lugar, sube la depuración ssh,
y vea lo que le dice, también intente buscar, / var / log / secure y / var / log / messages en el servidor al que está tratando de conectarse para obtener pistas, sshd da buenos mensajes de error.
En tercer lugar, ¿esta máquina está conectada a internet? ¿Debería realmente permitir los inicios de sesión de root?
fuente
Obtiene esto porque algo ha cambiado (como nueva NIC, nueva IP, cambio en el software del servidor, etc.). El enfoque de seguridad tiene un buen artículo sobre la protección de clave de host SSH .
Simplemente quite la clave (usando SFTP o similar) del servidor, editando el
$HOME/.ssh/known_hosts
archivo y acepte la nueva en la próxima conexión.Su conexión podría estar cayendo debido a la configuración StrictHostKeyChecking. Vea este hilo para un problema similar.
fuente
Como el 'host' [ampliamente definido, podría ser todo, desde una reinstalación / arranque múltiple hasta una computadora completamente diferente con una dirección IP a la que se ha conectado antes, por ejemplo], parece que el cliente ssh ha cambiado, le está dando el error.
No es necesario desactivar la comprobación estricta, ni tampoco es razonable la eliminación total de las claves guardadas.
Es muy posible tener dos claves diferentes enumeradas enhosting_hosts para un nombre de host o dirección IP en particular; dándole 2 alternativas según si cree que puede necesitar la clave 'antigua' que está actualmente almacenada en conocido_hosts
Elimine la clave particular a la que se refiere, en l377 de known_hosts para el OP, o mantenga ambos
La forma más sencilla de mantener ambos, evitando la eliminación de claves en conocido_hosts, es
más respuestas en "Agregar la clave de host correcta en conocido_hosts" / múltiples claves de host ssh por nombre de host?
fuente