🖥️ansible

➡️This is a command-line reference manual for commands and command combinations that you don’t use often enough to remember it. This cheatsheet explains the ansible command with important options and switches using examples.

▁ ▂ ▃ ▄ ꧁ 🔴☠ COMMANDLINE-KUNGFU WITH CHEATSHEETS ☠🔴꧂▅ ▃ ▂ ▁

#   █████╗ ███╗   ██╗███████╗██╗██████╗ ██╗     ███████╗
#  ██╔══██╗████╗  ██║██╔════╝██║██╔══██╗██║     ██╔════╝
#  ███████║██╔██╗ ██║███████╗██║██████╔╝██║     █████╗  
#  ██╔══██║██║╚██╗██║╚════██║██║██╔══██╗██║     ██╔══╝  
#  ██║  ██║██║ ╚████║███████║██║██████╔╝███████╗███████╗
#  ╚═╝  ╚═╝╚═╝  ╚═══╝╚══════╝╚═╝╚═════╝ ╚══════╝╚══════╝
			

#-------------------------------------------------------------------------------------------------#				
# Ping der Einzelhosts aus der Datei hosts
ansible pluto -i hosts -m ping
ansible mars-i hosts -m ping
ansible staturn -i hosts -m ping
ansible venus -i hosts -m ping
ansible testserver1 -i hosts -m ping

# Ping aller Hosts in der Datei hosts
ansible '*' -i hosts -m ping

ansible-doc apt
ansible venus.srv041.lxu.io -i hosts -m command -a uptime
ansible-playbook -h hosts -i web-notls.yml

ansible pluto -i hosts -m ping
ansible pluto -i hosts -m command -a uptime
ansible pluto -i hosts -a "tail /var/log/messages"
ansible pluto -m apt "name=ccze state=installed" -b
ansible pluto -i hosts -m user -a "name=tuxtux comment=\"CheffRocker\" shell=/bin/bash state=present" -b

ansible mars -m apt -i "name=ccze state=installed" -b

ansible '*' -i hosts -m command -a 'lsof -i'
ansible '*' -i hosts -m command -a 'apt update'
ansible '*' -i hosts -m command -a 'tail /var/log/syslog'

# für alle Systeme
- name: Stop and disable firewalld
service:
name: firewalld
state: stopped
enabled: no
ignore_errors: yes

# Für Debian und SUSE basierte Systeme Handler - Ein Handler ist ähnlich wie ein Task, läuft aber nur dann, wenn er von einem Task via notify aufgerufen wird. Ein Anfwendungsfall dafür ist zum Beispiel das Neustarten eines Diensts nach einer Änderung an einer Konfigurationsdatei.
# Wir starten den Apache via Handler neu wenn sich das static.html File geändert hat. Dies ist in der Praxis natürlich nicht nötig, der Einfachheit halber wird diese Datei aber als Apache-Konfigurationsdatei betrachtet.
handlers:
- name: Restart Apache
service:
name: apache2
state: restarted

#/home/ansible/playbooks/hosts
[testgruppe]
pluto ansible_ssh_host=10.17.1.204 ansible_ssh_user=root
mars ansible_ssh_host=10.17.1.192 ansible_ssh_user=root
saturn ansible_ssh_host=10.17.1.199 ansible_ssh_user=root

[testserver]
venus ansible_ssh_host=10.16.1.128 ansible_ssh_user=root
testserver1 ansible_ssh_host=10.14.5.41 ansible_ssh_user=root

#--------/home/ansible/palybooks/upgrade.yml------------------------------------#
---
# apt update && upgrade auf allen Servern der Gruppe update mit alter source.list :
- name: Config für update Hosts
  hosts: update
  become: true
  tasks:

# wenn nicht vorhanden installiere htop:
  - name: Install htop
    apt:
      name: htop
      state: present
      update_cache: yes

# wenn nicht vorhanden installiere ccze:
  - name: Install ccze
    apt:
      name: 
	- ccze
	- arp-scan
      state: present
      update_cache: yes

# wenn nicht vorhanden installiere nmap:
  - name: Install nmap
    apt:
      name: nmap
      state: present
      update_cache: yes

# Über notify wird dann ein restart von Apache initiiert:
  - name: Copy proxyfile to /etc/apt/apt.conf.d/
    copy:
      src: files/proxyfile
      dest: /etc/apt/apt.conf.d/

# Über notify wird dann ein restart von Apache initiiert:
  - name: Copy sources.list to /etc/apt/
    copy:
      src: files/sources.list
      dest: /etc/apt/

# Für Debian und SUSE basierte Systeme Handler - Ein Handler ist ähnlich wie ein Task, läuft aber nur dann, wenn er von einem Task via notify aufgerufen wird. Ein Anfwendungsfall dafür ist zum Beispiel das Neustarten eines Diensts nach einer Änderung an einer Konfigurationsdatei. Wir starten den Apache via Handler neu wenn sich das static.html File geändert hat. Dies ist in der Praxis natürlich nicht nötig, der Einfachheit halber wird diese Datei aber als Apache-Konfigurationsdatei betrachtet.

  handlers:
    - name: Restart Apache
      service:
        name: apache2
        state: restarted

# 7.2 Playbook für mehrere Distributionen -Durch das gesammelte Wissen über Facts können wir das Playbook für mehrere Distributionen verfügbar machen. Es wären noch mehr Änderungen am Playbook nötig (Services, Handlers), in der Kürze des Workshops wird allerdings nur beispielhaft die Installation gezeigt.
 
  tasks:
    - name: Install Apache on RHEL
  yum:
  name: httpd
  state: present
  when: ansible_os_family == “RedHat”
    - name: Install Apache on Debian
  apt:
  name: apache2
  state: present
  update_cache: yes
  when: ansible_os_family == “Debian”
    - name: Install Apache on SUSE
  zypper:
  name: apache2
  state: present
  when: ansible_os_family == “Suse”
    - name: Copy static.html
#--------/home/ansible/palybooks/upgrade.yml------------------------------------#

# ansible historytext
ansible raspberry -m apt -a 'upgrade=yes update_cache=yes cache_valid_time=864000' --become
ansible raspberry -m command -a 'ls'
ansible raspberry -m -m apt -a 'upgrade=yes update_cache=yes cache_valid_time=864000' --become
ansible raspberry -m ping
ansible Client -m ping
ansible-config
ansible ebook -m apt -a 'upgrade=yes update_cache=yes cache_valid_time=864000' --become
ansible ebook -m ping
ansible ebook -m test.ping
ansible --list-host
ansible '*' --list-hosts
ansible * --list-hosts
ansible '*' -m apt -a 'upgrade=yes update_cache=yes cache_valid_time=864000' --become
ansible '*' -m ping
ansible '*' -m ping
ansible * -m ping
ansible nas.fritz.box -m ping
ansible nas -m ping
ansible nas -m ping
ansible proxy -m ping
ansible salt -m ping
ansible raspydisplay -m apt -a 'apt upgrade'
ansible raspydisplay -m apt 'apt upgrade'
ansible raspycdisplay -m apt -a 'upgrade=yes update_cache=yes cache_valid_time=86400' --become
ansible raspydisplay -m cmd -a 'lsof -i'
ansible raspydisplay -m command -a 'apt upgrade'
ansible raspydisplay -m command -a 'lsof -i'
ansible raspydisplay -m ping
ansible raspydisplay -m shell -a 'apt update'
ansible raspydisplay -m shell -a 'apt upgrade'
ansible raspydisplay -m shell -a 'ifconfig'
ansible raspydisplay -m shell -a 'lsof -i'
ansible raspydisplay -m shell 'ifconfig'
ansible raspy* -m ping
cat /etc/ansible/hosts
cd /etc/ansible
history | grep ansible
vi /etc/ansible/hosts
ansible raspberry -m ping

# Parallel Prozesses
 -f 'FORKS', --forks 'FORKS'
           # specify number of parallel processes to use (default=5)
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░