Ansible Spickzettel
Gesammelte Beispiele
Aufruf auf der Kommandozeile
ansible [Target Hosts] [Option] -m [Module] -a [Arguments]
Es gibt viele Module auf der offiziellen Website von Ansible https://docs.ansible.com/ansible/latest/modules/modules_by_category.html
Es ist notwendig, sich mit einem Benutzer zur Verwendung von Ansible zu authentifizieren, da der SSH-Zugriff verwendet werden muss. Wenn sie mit erhöhten Rechten auf Clients zugreifen möchten, empfiehlt es sich, privilegierte Befehle von sudo usw. zu verwenden.
Falls die ssh-Schlüssel von user hugo auf den Clients liegen, kann man Folgendes versuchen
ansible-managed@hugo:~ $ ansible server -m ping stretch | SUCCESS => { "changed": false, "ping": "pong" } piggy | SUCCESS => { "changed": false, "ping": "pong" } opensuse | SUCCESS => "changed": false, "ping": "pong" } localhost | SUCCESS => { "changed": false, "ping": "pong" } asus | SUCCESS => { "changed": false, "ping": "pong" } centos7 | SUCCESS => { "changed": false, "ping": "pong" } mindux.de | SUCCESS => { "changed": false, "ping": "pong" }
Kommando ausführen mit dem command - Modul von Ansible (Beispiel: uptime)
ansible-managed@hugo:~ $ ansible server -m command -a "uptime" stretch | CHANGED | rc=0 >> 08:14:22 up 18:46, 1 user, load average: 0,00, 0,00, 0,00 piggy | CHANGED | rc=0 >> 08:14:22 up 8 days, 1:04, 1 user, load average: 0,01, 0,03, 0,00 localhost | CHANGED | rc=0 >> 08:14:22 up 18:55, 4 users, load average: 0,37, 0,12, 0,08 opensuse | CHANGED | rc=0 >> 08:14:22 18:42 an, 1 Benutzer, Durchschnittslast: 0,00, 0,00, 0,00 asus | CHANGED | rc=0 >> 08:14:22 up 18:35, 2 users, load average: 0,27, 0,08, 0,02 centos7 | CHANGED | rc=0 >> 08:14:22 up 18:41, 1 user, load average: 0,00, 0,01, 0,05 mindux.de | CHANGED | rc=0 >> 08:14:22 up 261 days, 21:56, 4 users, load average: 0,14, 0,23, 0,18
Zugriff mit Passwortabfrage für das sudo-Passwort
ansible server -m command -a "cat /etc/shadow" -b --ask-become-pass
ansible all -m shell -a "ps -ef | grep ssh"
ansible live -a "/bin/uname -a"
ansible localhost -m debug -a 'var=groups.keys()'
Gruppen anzeigen
ansible localhost -m debug -a 'var=groups'