Con frecuencia estoy reconstruyendo servidores para almacenamiento y desarrollo. Me conecto a ellos con SSH para aprovisionamiento.
En el proceso, destruiré una máquina virtual, la reconstruiré y la aprovisionaré de nuevo con las nuevas secuencias de comandos.
Un pequeño problema que tengo es que mi máquina local recuerda la clave de host anterior y me advierte que ha cambiado para el nombre de host o IP después de que se haya reconstruido.
Esto es esperado y una buena cosa. Pero irritante.
Luego tengo que ssh-keygen -R
la huella dactilar local e intentar conectarme de nuevo para que se me solicite aceptar una nueva.
Esto es tedioso. Así que miré y aprendí que puedo configurar algunas opciones de ssh como ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
Eso soluciona mi problema de flujo de trabajo, pero me hizo preguntarme qué tan seguro es todo el proceso en primer lugar.
Si simplemente acepto ciegamente cada huella que me envía un nuevo servidor, ¿estoy minimizando el potencial de ataque del Hombre en el Medio confiando ciegamente solo una vez y luego esperando que sea el mismo desde ese momento?
O, aparte de obtener las claves del servidor a través de otro canal antes de conectarme por primera vez, ¿hay alguna forma de cerrar ese agujero y saber que la huella digital que estoy obteniendo proviene realmente del servidor que pretendo?