public:ansible

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

public:ansible [2024/10/24 20:23] – [Lexique] vincent1890public:ansible [2024/10/25 15:13] (Version actuelle) – modification externe 127.0.0.1
Ligne 8: Ligne 8:
  
 Vérifier la connexion réseau Vérifier la connexion réseau
-  ip a+  ip -c a
  
 === Sous Debian === === Sous Debian ===
Ligne 132: Ligne 132:
 </bootnote> </bootnote>
  
-Création d'un Playbook+=== Création d'un Playbook ===
   nano Playbook_[Action]_[Paquet].yml   nano Playbook_[Action]_[Paquet].yml
  
Ligne 161: Ligne 161:
  
   ansible-playbook -i [Nom-Fichier-Inventaire].yml [Nom-Fichier-Playbook].yml -l [Nom-Groupe]   ansible-playbook -i [Nom-Fichier-Inventaire].yml [Nom-Fichier-Playbook].yml -l [Nom-Groupe]
 +
 +----
 +
 +==== Vérification SYNTAX et Test du Playbook ====
 +Vérifier la syntax du Playbook
 +  ansible-playbook -i [Nom-Fichier-Inventaire].yml [Nom-Fichier-Playbook].yml --syntax-check
 +
 +Vérifier ce que la commande donnerait pour **TOUS** ou le **groupe [Nom-Groupe** (Ex: <color #ed1c24>deb_master</color>) **] seulement**
 +  ansible-playbook -i [Nom-Fichier-Inventaire].yml [Nom-Fichier-Playbook].yml -C -l all
 +ou
 +  ansible-playbook -i [Nom-Fichier-Inventaire].yml [Nom-Fichier-Playbook].yml -C -l [Nom-Groupe]
  
 ---- ----
Ligne 225: Ligne 236:
 ---- ----
  
 +=== Création d'un Playbook (regroupe plusieurs actions avec un handlers) ===
 +
 +<file Bash Playbook_Multi_SSH-Config.yml>
 +---
 +- name: Playbook pour sécuriser SSH et installer BIND
 +  hosts: all
 +  become: yes
 +  tasks:
 +
 +    - name: Assurer que le service SSH est installé
 +      apt:
 +        name: openssh-server
 +        state: present
 +        update_cache: yes
 +
 +    - name: Ajouter un bloc de configuration SSH dans /etc/ssh/sshd_config
 +      ansible.builtin.blockinfile:
 +        path: /etc/ssh/sshd_config
 +        backup: true
 +        insertafter: EOF
 +        block: |
 +          # Configuration personnalisée SSH
 +          Match User ansible
 +            AllowUsers [email protected]
 +            PasswordAuthentication no
 +        marker: "# {mark} Configuration SSH"
 +        #owner: root
 +        #group: root
 +        #mode: '0600'
 +      notify:
 +        - Restart SSH
 +
 +    - name: Installer le service BIND
 +      apt:
 +        name: bind9
 +        state: present
 +        update_cache: yes
 +
 +    - name: Neutraliser la connexion via un accès console de l’utilisateur ansible
 +      user:
 +        name: ansible
 +        password: "!"
 +
 +  handlers:
 +    - name: Restart SSH
 +      service:
 +        name: ssh
 +        state: restarted
 +</file>
 +
 +ou alors la meme chose avec un playbook plus simpliste \\
 +
 +<file Bash Playbook_Multi_SSH-Config_2.yml>
 +---
 +- name: Playbook pour sécuriser SSH et installer BIND v2
 +  hosts: all
 +  become: true
 +
 +  tasks:
 +# Secure SSH :
 +    - name: sec ssh
 +      blockinfile:
 +        path: /etc/ssh/sshd_config
 +        state: present
 +        backup: yes
 +        insertafter: "EOF"
 +        block: |
 +          Match User ansible
 +                AllowUsers [email protected]
 +                PasswordAuthentication no
 +    - name: restart ssh
 +      service:
 +        name: sshd
 +        state: restarted
 +
 +# Disable login with password :
 +    - name: disable login password
 +      user:
 +        name: ansible
 +        password: "!"
 +
 +# Install Bind sur les deux serveur :
 +    - name: Install Bind
 +      apt:
 +        update_cache: yes
 +        name: bind9
 +        state: present
 +</file>
 +
 +Vérifier la syntax du Playbook
 +  ansible-playbook -i inventaire.yml Playbook_Multi_SSH-Config.yml --syntax-check
 +
 +Vérifier ce que la commande donnerait pour **TOUS** ou le **groupe deb_master seulement** 
 +  ansible-playbook -i inventaire.yml Playbook_Multi_SSH-Config.yml -C -l all
 +ou
 +  ansible-playbook -i inventaire.yml Playbook_Multi_SSH-Config.yml -C -l deb_master
 +
 +Lance l'exécution de la commande
 +  ansible-playbook -i inventaire.yml Playbook_Multi_SSH-Config.yml -l all
 ===== Lexique ===== ===== Lexique =====
-<bootnote learn +<bootnote question
   * NODE MANAGER = Le serveur ansible   * NODE MANAGER = Le serveur ansible
   * PLAYBOOK = fichier YAML des séquences de tâches ou rôles   * PLAYBOOK = fichier YAML des séquences de tâches ou rôles
  • public/ansible.1729794209.txt.gz
  • Dernière modification : 2024/10/24 20:23
  • (modification externe)