Estoy tratando de descubrir cómo configurar las credenciales SSH por separado para un entorno de producción y preparación con Ansible. Entiendo que puede configurar las direcciones IP y los nombres de host del servidor por separado utilizando diferentes archivos de inventario pasando el argumento -i
o --inventory-file
al ansible-playbook
comando. Sin embargo, no veo esa opción para ansible.cfg
. Actualmente, las credenciales viven /etc/ansible/ansible.cfg
como:
[defaults]
private_key_file=/home/caleb/.ssh/staging_key.pem
remote_user=ubuntu
sudo_user=root
gathering=explicit
¿Cómo puedo configurar múltiples credenciales SSH, una para producción y otra para puesta en escena?
.ssh/config
?Respuestas:
Parece que mi primera respuesta no fue del todo correcta. Si bien, por supuesto, es posible resolverlo
.ssh/config
como se describe a continuación, también parece posible con los Parámetros de inventario de comportamiento de Ansibles .Debe (según los documentos) poder definir el archivo de claves y el usuario en su inventario, ya sea por host o por grupo.
Definición por grupo:
Definición por host:
Pero puede definir varios grupos de hosts que ya están en su
.ssh/config
y cada grupo puede tener sus configuraciones separadas con respecto a la clave y el usuario.Aquí hay un ejemplo rápido
También podría definir un valor predeterminado y anularlo más tarde con configuraciones más detalladas.
fuente