¿Hay alguna manera de ignorar temporalmente mi ~/.ssh/known_hostsarchivo?
mbp:~ alexus$ ssh 10.52.11.171
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/alexus/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/alexus/.ssh/known_hosts:155
RSA host key for 10.52.11.171 has changed and you have requested strict checking.
Host key verification failed.
mbp:~ alexus$
NOTA:
.. por unas pocas respuestas / comentarios me doy cuenta de que mi pregunta es un poco engañosa, tan breve es el comportamiento esperado), por lo que es normal (en mi caso) hay una razón válida detrás de por qué querer ver "ignorarlo")

Respuestas:
Puede usar
ssh -o StrictHostKeyChecking=nopara desactivar la comprobaciónknown_hostsmomentáneamente. Pero aconsejaría en contra de esto. Realmente deberías comprobar por qué la clave del host ha cambiado.Otra opción es agregar una entrada específica
~/.ssh/configpara el host en cuestión. Este podría ser un enfoque válido si tiene un determinado host que genera nuevas claves de host cada vez que se reinicia y se reinicia por un motivo válido varias veces al día.fuente
-o StrictHostKeyChecking=noelimina la capacidad de iniciar sesión con una contraseña. ¿La falta de una bandera para esto no va directamente contra los principios de Unix de permitir que el usuario fuerce el comportamiento? Actualmente estoy intentando iniciar sesión en una máquina local con una IP local. La clave de host cambió porque reformateé dicha máquina. Todo aquí tiene sentido y nada es un riesgo de seguridad dadas las circunstancias.Para ignorar por completo su archivo de hosts conocidos en un entorno POSIX, configure las opciones
GlobalKnownHostsFileyUserKnownHostsFilepara/dev/null:ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null user@hostConfigurar la
StrictHostKeyChecking=noopción le permitirá conectarse, pero SSH seguirá mostrando una advertencia :ssh -o StrictHostKeyChecking=no user@hostComo otros han señalado, probablemente sea mejor abordar el problema subyacente. Podría considerar la autenticación de certificado SSH para verificar hosts, por ejemplo.
fuente
-o StrictHostKeyChecking=no, además de las-o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/nullopciones - para una respuesta final de?:ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host?Si ha reinstalado el servidor y, por lo tanto, la Identificación ha cambiado, debe eliminar la línea 155 especificada
/Users/alexus/.ssh/known_hostsy continuar.Si cambia entre diferentes redes privadas, debe usar nombres de host para conectarse, ya que el cliente ssh también guardará claves dependiendo del nombre de host. Agregue algo como esto a su
/etc/hosts:y luego se usa
ssh server1cuando está conectado a la subred 1 yssh server2cuando está conectado a la subred2. De esta manera, ambos servidores pueden tener diferentes teclas de host.fuente
-o StrictHostKeyChecking=nosolo funciona si el host no está presente en el archivo known_hosts.Creo que es más limpio (sin advertencias), si espera que la clave de los hosts cambie tal vez debido a la clonación vm, para forzar el desconocimiento de ese tipo de hosts como este:
fuente
Algunas personas dicen que no está bien, no debes hacer esto, etc., pero también necesito esto para probar un par de dispositivos integrados una y otra vez. Debe deshabilitar
StrictHostKeyChecking=no, esto es correcto, pero también restablecer el archivo de hosts conocidos a/dev/null. Aquí un ejemplo con inicio de sesión automático ypsen dispositivo remoto.fuente
Inicie sesión en todos sus servidores (y si es RedHat)
rm -f /etc/ssh/ssh_host_*y luego reinicie SSHD.Esto creará nuevas claves de host SSH que no es necesario ignorar.
Solo puedo pensar en una instancia en la que las claves SSH clonadas en varios servidores no solo se desean sino que tampoco arrojan advertencias. Múltiplos de un registro A. Todos los hosts con el registro A tienen la misma clave.
fuente