¿Cómo decirle a ssh que no verifique la autenticidad del host de conexión?

¿Cómo decirle a ssh que no verifique la autenticidad del host de conexión?

Regularmente tengo que conectarme a hosts detrás de múltiples redes y proveedores de VPN, dirigidos como o. 10.0.0.*Es 192.168.*.decir, cada red VPN es libre de reservar cualquiera de esos rangos cuando está conectada. Por esta razón no puedo asumir vincular una 10.0.0.*dirección a un host en particular, porque eso dependería de a qué VPN estoy conectado. ¡O incluso resolverlo con mi enrutador inalámbrico!

Por esta razón, he deshabilitado explícitamente la verificación estricta de claves para hosts con estas direcciones de "intranet" que coinciden con las anteriores, en mi ~/.ssh/config:

Host 192.168.* 10.0.0.*
    StrictHostKeyChecking=no
    UserKnownHostsFile=/dev/null

Recogí estas instrucciones buscando en Google y también leyendo otras preguntas y respuestas de SO.

El problema es que cada vez que me conecto a los rangos de direcciones anteriores, por ejemplo ssh 10.0.0.16, me dice:

Warning: Permanently added '10.0.0.16' (RSA) to the list of known hosts.

lo cual es francamente falso, en virtud de lo ubicuo /dev/null(que personalmente encuentro que a menudo se usa como un truco feo): no hay permanencia en agregar nada /dev/null, ¿verdad? Simplemente abarrota mi terminal y me desconcierta cada vez que lo veo allí.

¿Hay alguna manera de que ssh ignore la huella digital y no imprima el mensaje confuso anterior? No quiero alias ssh='ssh 2>/dev/null'ni nada de locos por el estilo. ¿He hecho esto de manera incorrecta? ¿Qué opciones tengo? ¿Algunas otras opciones, tal vez? En mi opinión, es /dev/nullun truco y por eso me castigan.

Lo que yono quiero haceres el alias de los nodos de algunos nombres de host en el lado del cliente en my ~/.ssh/config, como enesta respuesta. Esto es por dos razones:

  • No puedo simplemente configurar ssh para que tome un alias (usando la Hostdirectiva) para resolver en una dirección particular fe, precisamente porque las direcciones son reutilizadas por diferentes proveedores de VPN a los que me conecto; 10.0.0.15puede, por ejemplo, ser un host cuando estoy conectado a una VPN y otro cuando conectado a otra VPN. ¿Debo "dividir" mi VPN ~/.ssh/configen varias, una para cada VPN? ¿Y utilizar estos archivos de configuración en consecuencia?

  • Un nodo en cuestión puede ser parte de un grupo bastante grande de nodos en la misma intranet, una "nube", como se la llama hoy en día. El número de nodos puede llegar hasta cien. No estoy del todo seguro de cómo "asignar de forma masiva" varios de estos nodos a sus respectivas direcciones.

Respuesta1

Sé que esta es una vieja pregunta, pero estaba buscando una respuesta. Entonces, para los futuros usuarios de Google, esto es lo que encontré.

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host

puedes vincular esto a un alias para que te resulte más fácil.

alias ssh-nocheck='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'

ssh-nocheck user@host

Encontré la respuesta enhttps://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html

-editar: formateo

Respuesta2

Al ignorar las comprobaciones de autenticidad, se expone a un ataque de intermediario, por lo que es posible que desee reconsiderarlo.

Es posible que desee modificar su configuración SSH configurando "CheckHostIP" en no y luego configurando entradas en su archivo de hosts para cada host y conectándose por nombre en lugar de hosts. (Tenga en cuenta que no he probado esto, pero creo que funcionará). Tener unmiraraquí también.

información relacionada