Deshabilitar StrictHostKeyChecking en ssh

10

Estoy intentando conectarme a un host Linux usando ssh y obtengo el siguiente error

RSA host key for 10.1.1.20 has changed and you have requested strict checking.

Me gustaría anular esto, pero parece que no puedo encontrar ninguna combinación de opciones para hacer esto.

Probablemente configuré StrictHostKeyChecking hace años, pero no recuerdo cómo.

Consulté man ssh que me informa que el archivo de configuración de todo el sistema es /etc/ssh/ssh_config y el valor predeterminado para el archivo de configuración por usuario no es ~/.ssh/config .

EDITAR Para aclarar mi pregunta, la opción está claramente establecida. Estoy tratando de descubrir

  1. Donde se almacenan las opciones (no tengo los archivos mencionados en el página de manual, que parece ser incorrecta).
  2. Cómo cambiar las opciones.

No estoy viendo cómo solucionar el problema que tengo (sé que puedo editar el archivo conocido_hosts, pero esto es tedioso cada vez que intento un nuevo servidor).

    
pregunta Milliways 05.09.2015 - 06:09

2 respuestas

13

Para deshabilitar la comprobación estricta del host en OS X para el usuario actual, cree o edite ~ / .ssh / config y agregue las siguientes líneas:

Host [IP Address] 
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

Un ejemplo típico para los hosts en su red local podría ser:

Host 10.1.1.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

Dependiendo de su uso de ssh, no recomiendo deshabilitar la comprobación estricta de claves de host para todos hosts.

Si solo desea eliminar la entrada para 10.1.1.20 abra ~ / .ssh / known_hosts con un editor de su elección y elimine la línea correspondiente "10.1.1.20 ssh-rsa clave pública $ "

    
respondido por el klanomath 05.09.2015 - 08:38
5

Simplemente puede intentarlo tal como está sin confitguración, solo en la línea de comandos:

ssh -o StrictHostKeyChecking=no hostname

Pero no creo que haga todo lo que necesitas. Si desea ignorar todas las comprobaciones de clave de host, debe configurar el archivo known_hosts en /dev/null para que nunca haya nada almacenado:

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null hostname

o en /etc/ssh_config :

StrictHostKeyChecking no
UserKnownHostsFile /dev/null
    
respondido por el Jakuje 05.09.2015 - 08:26

Lea otras preguntas en las etiquetas