Saltar al contenido

¿Cómo ignorar la verificación de autenticidad ansible SSH?

No busques más por todo internet porque estás al espacio justo, tenemos la respuesta que necesitas recibir sin problema.

Solución:

Dos opciones: la primera, como dijiste en tu propia respuesta, es configurar la variable de entorno ANSIBLE_HOST_KEY_CHECKING a Falso.

La segunda forma de configurarlo es ponerlo en un archivo ansible.cfg, y esa es una opción realmente útil porque puede configurarlo globalmente (a nivel de sistema o de usuario, en /etc/ansible/ansible.cfg o ~/.ansible.cfg), o en un archivo de configuración en el mismo directorio que el libro de jugadas que está ejecutando.

Para ello, haz un ansible.cfg archivo en una de esas ubicaciones, e incluya esto:

[defaults]
host_key_checking = False

También puede establecer muchos otros valores predeterminados útiles allí, como recopilar o no datos al comienzo de una jugada, fusionar hashes declarados en varios lugares o reemplazar uno con otro, y así sucesivamente. Hay una gran lista de opciones aquí en los documentos de Ansible.


Editar: una nota sobre seguridad.

servidor SSH key la validación es una capa de seguridad significativa para anfitriones persistentes – si se está conectando a la misma máquina muchas veces, es valioso aceptar el host key en la zona.

Para instancias EC2 de mayor duración, tendría sentido aceptar el host key con una tarea ejecutada sólo una vez en la creación inicial de la instancia:

  - name: Write the new ec2 instance host key to known hosts
    connection: local
    shell: "ssh-keyscan -H  inventory_hostname  >> ~/.ssh/known_hosts"

No hay valor de seguridad para verificar el host keys en instancias que usted pone de pie dinámicamente y elimina justo después de la ejecución del libro de jugadas, pero hay un valor de seguridad en la verificación del host keys para máquinas persistentes. Por lo tanto, debe administrar el host key Comprobación diferente según el entorno lógico.

  • Deje la comprobación habilitada de forma predeterminada (en ~/.ansible.cfg)
  • Deshabilitar anfitrión key comprobando en el directorio de trabajo los libros de jugadas que ejecuta contra instancias efímeras (./ansible.cfg junto con el libro de jugadas para pruebas unitarias contra máquinas virtuales vagabundas, automatización para instancias ec2 de corta duración)

Encontré la respuesta, necesitas configurar la variable de entorno ANSIBLE_HOST_KEY_CHECKING para False. Por ejemplo:

ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook ...

Cambiando host_key_checking para false para todos los anfitriones es una muy mala idea.

La única vez que desea ignorarlo es en el “primer contacto”, que se realizarán con estas dos tareas:

    - name: Check SSH known_hosts for  inventory_hostname 
      local_action: shell ssh-keygen -F  inventory_hostname 
      register: checkForKnownHostsEntry
      failed_when: false
      changed_when: false
      ignore_errors: yes
    - name: Add  inventory_hostname  to SSH known hosts automatically
      when: checkForKnownHostsEntry.rc == 1
      changed_when: checkForKnownHostsEntry.rc == 1
      set_fact:
        ansible_ssh_common_args: '-o StrictHostKeyChecking=no'

Entonces solo apagamos el host key comprobando si no tenemos el host key en nuestro known_hosts expediente.

Si te animas, tienes la libertad de dejar un enunciado acerca de qué te ha gustado de este ensayo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *