ssh - sent - warning permanently added rsa to the list of known hosts
La identificación del host remoto ssh ha cambiado (22)
¡Funciona para mi!
Error: Ofender la clave RSA en / var / lib / sss / pubconf / known_hosts: 4
Esto indica que tiene una clave RSA ofensiva en la línea no. 4
Solución 1 :
1.
vi /var/lib/sss/pubconf/known_hosts
2.
remove line no: 4
.3.
Save and Exit, and Retry
.
Solución 2:
ssh-keygen -R "you server hostname or ip"
O
Solución 3:
sed -i ''4d'' /root/.ssh/known_hosts
Esto eliminará la 4th
línea de /root/.ssh/known_hosts
en su lugar ( -i
).
He reinstalado mi servidor y estoy recibiendo estos mensajes:
[user@hostname ~]$ ssh root@pong
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
6e:45:f9:a8:af:38:3d:a1:a5:c7:76:1d:02:f8:77:00.
Please contact your system administrator.
Add correct host key in /home/hostname /.ssh/known_hosts to get rid of this message.
Offending RSA key in /var/lib/sss/pubconf/known_hosts:4
RSA host key for pong has changed and you have requested strict checking.
Host key verification failed.
He intentado varias soluciones que encontré en internet. Mi archivo known_hosts
(normalmente en ~/.ssh/known_hosts
) está en /var/lib/sss/pubconf/known_hosts
. He intentado editarlo, pero permanece en un estado. He instalado ipa-client y tengo Fedora 19. ¿Cómo resuelvo esta advertencia?
Todas las respuestas respondidas hasta ahora funcionan solo si no tiene Freeipa instalado.
Respuesta correcta para freeipa en los comentarios a continuación de Adrin here .
A veces, si por alguna razón necesita volver a instalar un servidor, cuando se conecte por ssh encontraremos que su servidor dice que la identificación ha cambiado. Si sabemos que no es un ataque , pero que hemos restablecido el sistema, podemos eliminar la identificación antigua de los host_conocidos conocidos mediante ssh-keygen:
ssh-keygen -R <host/ip:hostname>
root/.ssh/known_hosts updated.
Original contents retained as /root/.ssh/known_hosts.old
Cuando se vuelva a conectar, le pediremos que valide la nueva huella digital:
ssh -l user <host/ip:hostname>
The authenticity of host ''<host/ip:hostname>'' can''t
be established.
RSA key fingerprint is 3f:3d:a0:bb:59:24:35:6d:e5:a0:1a:3f:9c:86:81:90.
Are you sure you want to continue connecting (yes/no)? yes
Aquí está la solución más simple.
ssh-keygen -R <host>
Por ejemplo,
ssh-keygen -R 192.168.3.10
Desde la página del manual de ssh-keygen
:
-
-R hostname
Elimina todas las claves que pertenecen al nombre de host de un archivo conocido_hosts. Esta opción es útil para eliminar hosts con hash (consulte la opción -H más arriba).
Como muchos ya han dicho, use ssh-keygen
, es decir,
ssh-keygen -R pong
Además, es posible que desee considerar desactivar temporalmente la verificación de la clave del host:
ssh -oStrictHostKeyChecking=no root@pong
Cuando reinstale el servidor, su identidad cambiará y comenzará a recibir este mensaje. Ssh no tiene forma de saber si ha cambiado el servidor al que se conecta o si se ha agregado un servidor en el medio a su red para detectar todas sus comunicaciones, por lo que le llama la atención.
Simplemente elimine la clave de conocido_hosts eliminando la entrada relevante:
sed ''4d'' -i /var/lib/sss/pubconf/known_hosts
El 4d
está en la cuenta de Offending RSA ...known_hosts:4
El martillo es para eliminar todos los hosts conocidos de un solo golpe:
rm ~/.ssh/known_hosts
Me enfrento a esto ya que utilizamos pequeñas subredes de servidores de corta duración desde un cuadro de salto y, con frecuencia, reutilizamos las direcciones IP internas de los servidores que comparten la misma clave ssh.
El problema es que anteriormente ha aceptado una conexión SSH a una computadora remota y la huella digital o la clave de hash SHA256 de esa computadora remota ha cambiado desde la última vez que se conectó. Por lo tanto, cuando intentas SSH nuevamente o usas github para extraer el código, que también usa SSH, obtienes un error. ¿Por qué? Porque está usando la misma dirección de computadora remota que antes, pero la computadora remota responde con una huella digital diferente. Por lo tanto, es posible que alguien esté falsificando la computadora a la que se conectó anteriormente. Este es un problema de seguridad.
Si está 100% seguro de que la computadora remota no está comprometida, pirateada, falsificada, etc., todo lo que necesita hacer es eliminar la entrada en su archivo conocido_hosts para la computadora remota. Eso resolverá el problema ya que no habrá una discrepancia con las ID de huellas dactilares SHA256 cuando se conecte.
En Mac esto es lo que hice:
1) Encuentre la línea de salida que lee la RSA host key for servername:port has changed and you have requested strict checking.
Necesitará tanto el nombre del servidor como el puerto potencial de esa salida de registro.
2) Haga una cp /Users/yourmacusername/.ssh/known_hosts /Users/yourmacusername/.ssh/known_hosts.bak
archivo de hosts conocidos SSH cp /Users/yourmacusername/.ssh/known_hosts /Users/yourmacusername/.ssh/known_hosts.bak
3) Busque la línea donde se almacena la huella digital anterior de la computadora y elimínela. Puede buscar la huella digital de la computadora remota ofensiva específica usando el nombre de servidor y el puerto desde el paso # 1. nano /Users/yourmacusername/.ssh/known_hosts
4) CTRL-X para salir y elegir Y para guardar los cambios
Ahora escriba ssh -p port servername
y recibirá el mensaje original que recibió cuando intentó SSH por primera vez en esa computadora. Luego se le dará la opción de guardar la huella digital SHA256 de esa computadora remota en su archivo conocido_hosts. Si está utilizando SSH sobre el puerto 22, el argumento -p no es necesario.
Cualquier problema que pueda restaurar el archivo conocido de host original: cp /Users/yourmacusername/.ssh/known_hosts.bak /Users/yourmacusername/.ssh/known_hosts
Eliminar que la entrada de conocido_hosts usando:
ssh-keygen -R *ip_address_or_hostname*
Esto eliminará la IP problemática o el nombre de host del archivo conocido_hosts e intentará conectarse de nuevo.
De las páginas del manual:
-R hostname
Elimina todas las claves que pertenecen al nombre de host de un archivo conocido_hosts. Esta opción es útil para eliminar hosts con hash (consulte la opción -H más arriba).
En mi caso, sucedió porque anteriormente tenía una conexión ssh con una máquina con la misma ip (por ejemplo, 192.152.51.10) y el sistema estaba considerando la clave RSA (almacenada en /home/user_name/.ssh/known_hosts) del host anterior que resultó en desajuste.
Para resolver este problema, debe eliminar la clave RSA previamente almacenada para la IP 192.152.51.10 .
ssh-keygen -f "/home/user_name/.ssh/known_hosts" -R 192.152.51.10
Esto se debe a que la configuración de su computadora remota ha cambiado. Quita tus claves actuales para eso.
vim /root/.ssh/known_hosts
Borra la línea de la IP que estás conectando.
Las otras respuestas aquí son buenas y funcionan, de todos modos, resolví el problema eliminando ~/.ssh/known_hosts
. Esto ciertamente resuelve el problema, pero probablemente no sea el mejor enfoque.
Mi solución en UBUNTU (linux):
1.Tiene que eliminar el contenido del archivo "known_hosts" que se encuentra en "/home/YOUR_USERNAME/.ssh/known_hosts"
2. Genere una nueva clave ssh como "ssh-keygen -t rsa -C" [email protected] "-b 4096"
3. Copie y pegue su nueva clave ssh en su repositorio git (gitlab en mi caso) claves SSH.
Esto funciona para mi !
Mi solución es:
-
vi ~/.ssh/known_hosts
- elimina la línea que contiene tu ip conectada que deseas.
Esto es mejor que eliminar todos los known_hosts
SOLUCIÓN:
1- eliminar de "$ HOME / .ssh / known_hosts" la línea que se refiere al host hacia la cual es imposible conectarse.
2- ejecute este comando: ssh-keygen -R "IP_ADDRESSorHOSTNAME" (sustituya "IP_ADDRESSorHOSTNAME" con su IP de destino o nombre de host de destino)
3- Vuelva a intentar la conexión ssh (si falla, verifique el permiso en el directorio .ssh, tiene que ser 700)
Solo haz:
cd /home/user/.ssh/
-> aquí el user
será su nombre de usuario, es decir, /home/jon/
por ejemplo.
Entonces
gedit known_hosts &
y elimine los contenidos que contiene.
Ahora ssh
otra vez, debería funcionar.
Tuve el mismo error en mi máquina y known_hosts
archivo known_hosts
y known_hosts
, y después de eso, funciona bien.
Tuve este mismo error después de haber recreado una imagen de Digital Ocean Ubuntu. [IP_ADDRESS]
el siguiente comando con la dirección IP de mi servidor en lugar de [IP_ADDRESS]
ssh-keygen -R [IP_ADDRESS]
Tuve este problema, y la razón es muy simple, tengo una dirección IP duplicada para iniciar sesión en ssh, así que después de modificar este problema, todo está resuelto.
Una solución muy simple: edite /home/hostname /.ssh/known_hosts
, elimine la línea 4 y /home/hostname /.ssh/known_hosts
. luego ejecute ssh root@pong
nuevamente, verá un mensaje como este: Are you sure you want to continue connecting (yes/no)? yes
Are you sure you want to continue connecting (yes/no)? yes
, sólo imprima yes
.
Esto funciona para mi
Por cierto: si tienes algún problema, lee primero las sugerencias, te ayudará.
Usé la solución de mockinterface, aunque el sed -i no funcionó del todo, lo resolví eliminando la línea a mano con vim:
sudo vim /var/lib/sss/pubconf/known_hosts
Puede usar cualquier otro editor de texto que desee, pero probablemente necesitará mostrar sus privilegios administrativos
utilizar
ssh-keygen -R hostname
Un ejemplo con una dirección IP / nombre de host sería:
ssh-keygen -R 168.9.9.2
Esto actualizará la ofensa de su host desde el host conocido.
Solo problema del lado del cliente (clave duplicada para ip):
Resolver variantes:
Para borrar una ip (puerto por defecto 22):
ssh-keygen -f -R 7.7.7.7
Para una ip (puerto no predeterminado ):
ssh-keygen -f -R 7.7.7.7:333
Rápido borrar todos los ips:
cd ~; rm .ssh/known_hosts
7.7.7.7 - ssh tu servidor ip connect
333 - puerto no estándar