Ich versuche herauszufinden, wie die SSH-Anmeldeinformationen für eine Produktions- und Staging-Umgebung mit Ansible separat konfiguriert werden. Ich verstehe, dass Sie die Server-IP-Adressen und Hostnamen mithilfe verschiedener Inventardateien separat konfigurieren können, indem Sie das Argument -i
oder --inventory-file
an den ansible-playbook
Befehl übergeben. Ich sehe jedoch keine solche Option für ansible.cfg
. Derzeit leben die Anmeldeinformationen in /etc/ansible/ansible.cfg
:
[defaults]
private_key_file=/home/caleb/.ssh/staging_key.pem
remote_user=ubuntu
sudo_user=root
gathering=explicit
Wie kann ich mehrere SSH-Anmeldeinformationen konfigurieren, einen für die Produktion und einen für die Bereitstellung?
.ssh/config
?Antworten:
Scheint, als ob meine erste Antwort nicht ganz richtig war. Während es natürlich möglich ist, es
.ssh/config
wie unten beschrieben zu lösen , scheint es auch mit Ansibles Behavioral Inventory Parameters möglich zu sein .Sie sollten (laut Dokumentation) in der Lage sein, die Schlüsseldatei und den Benutzer in Ihrem Inventar entweder pro Host oder pro Gruppe zu definieren.
Definition pro Gruppe:
Definition pro Host:
Sie können jedoch bereits mehrere Hostgruppen in Ihrer
.ssh/config
Gruppe definieren, und jede Gruppe kann separate Einstellungen für Schlüssel und Benutzer vornehmen.Hier ist ein kurzes Beispiel
Sie können auch eine Standardeinstellung definieren und diese später mit detaillierteren Einstellungen überschreiben.
quelle