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'