J'essaie de comprendre comment configurer les informations d'identification SSH séparément pour un environnement de production et de transfert avec Ansible. Je comprends que vous pouvez configurer séparément les adresses IP et les noms d'hôte du serveur à l'aide de différents fichiers d'inventaire en passant l' argument -i
or --inventory-file
à la ansible-playbook
commande. Cependant, je ne vois pas une telle option pour ansible.cfg
. Actuellement, les informations d'identification vivent /etc/ansible/ansible.cfg
comme:
[defaults]
private_key_file=/home/caleb/.ssh/staging_key.pem
remote_user=ubuntu
sudo_user=root
gathering=explicit
Comment puis-je configurer plusieurs informations d'identification SSH, une pour la production et une pour le transfert?
.ssh/config
?Réponses:
Il semble que ma première réponse n'était pas tout à fait correcte. Bien sûr, il est possible de le résoudre de la manière
.ssh/config
décrite ci-dessous, mais cela semble également possible avec les paramètres d'inventaire comportemental d' Ansibles .Vous devez (selon les documents) être en mesure de définir le fichier de clés et l'utilisateur dans votre inventaire, soit par hôte ou par groupe.
Définition par groupe:
Définition par hôte:
Mais vous pouvez définir plusieurs groupes d'hôtes déjà dans votre
.ssh/config
et chaque groupe peut avoir ses propres paramètres concernant la clé et l'utilisateur.Voici un petit exemple
Vous pouvez également définir une valeur par défaut et la remplacer plus tard avec des paramètres plus détaillés.
la source