ansible:pourcommencer
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
ansible:pourcommencer [2021/02/01 14:22] – [Copie de la clés SSH pour automatiser la connexion] tonio | ansible:pourcommencer [2021/02/07 08:32] – [Le rôle, les tâches, les tags] tonio | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Initialisation ====== | ====== Initialisation ====== | ||
+ | <WRAP center round info 60%> | ||
+ | Le prérequis des commandes suivantes sont réalisées sur un poste Linux ou une VM sous Linux qui pilotera les autres serveurs Linux. | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | La cible est un serveur sous Linux avec \\ | ||
+ | le **mot de passe root connu** \\ | ||
+ | et un **utilisateur** qui peut se connecter en **SSH** au serveur et dont son **mot de passe** est **connu**. \\ | ||
+ | \\ | ||
+ | Dans notre exemple, le serveur est **alabourre** et l' | ||
+ | </ | ||
+ | |||
+ | |||
===== Structure de répertoires ===== | ===== Structure de répertoires ===== | ||
+ | **Installer Ansible (sous Ubuntu ou Debian)** | ||
+ | < | ||
+ | sudo apt install ansible | ||
+ | </ | ||
+ | Aide via ce lien [[https:// | ||
+ | |||
+ | |||
**Créer un répertoire de travail** | **Créer un répertoire de travail** | ||
< | < | ||
Ligne 116: | Ligne 136: | ||
====== Automatiser les connexions avec les droits qui vont avec ====== | ====== Automatiser les connexions avec les droits qui vont avec ====== | ||
===== Le rôle, les tâches, les tags ===== | ===== Le rôle, les tâches, les tags ===== | ||
- | Il faut tout d' | ||
- | - installer le package SUDO | ||
- | - configurer un groupe SUDOERS en passwordless (sans mot de passe) | ||
- | - créer un utilisateur et lui mettre sa clés SSH | ||
<WRAP center round alert 60%> | <WRAP center round alert 60%> | ||
Attention, il faut configurer la 1er connexion au serveur avant que tout cela fonctionne automatique ! | Attention, il faut configurer la 1er connexion au serveur avant que tout cela fonctionne automatique ! | ||
</ | </ | ||
+ | |||
+ | Donc il faut tout d' | ||
+ | - installer le package SUDO | ||
+ | - créer le groupe d' | ||
+ | - configurer un groupe SUDOERS en passwordless (sans mot de passe) | ||
+ | - créer un utilisateur et lui mettre sa clés SSH | ||
+ | |||
**Installation du package SUDO** | **Installation du package SUDO** | ||
Ligne 165: | Ligne 188: | ||
</ | </ | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
- | Les utilisateur ayant le pouvoir du sudo sont à positionner dans le fichier HOSTAME.yml (lié au nom décrit dans le fichier inventory/ | + | Les utilisateur ayant le pouvoir du sudo sont à positionner dans le fichier |
</ | </ | ||
Exemple: [[ansible: | Exemple: [[ansible: | ||
Ligne 180: | Ligne 203: | ||
</ | </ | ||
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
- | Les clés sont à positionner dans le répertoire : file/ | + | \\ |
+ | Les clés sont à positionner dans le répertoire : files/ | ||
</ | </ | ||
Ligne 231: | Ligne 255: | ||
john@192.168.1.87' | john@192.168.1.87' | ||
</ | </ | ||
+ | ==== Création de la clés SSH ==== | ||
+ | Si cela n'est pas fait, où un pour un environnement spécifique. | ||
+ | < | ||
+ | ssh-keygen | ||
+ | </ | ||
+ | Vous pouvez lire et afficher la clé avec la commande suivante : | ||
+ | < | ||
+ | cat ~/ | ||
+ | </ | ||
+ | Copier la clés dans le répertoire pour déployer la clés SSH via ansible (mettre votre login.pub) | ||
+ | < | ||
+ | cp ~/ | ||
+ | </ | ||
+ | |||
+ | |||
==== Copie de la clés SSH pour automatiser la connexion ==== | ==== Copie de la clés SSH pour automatiser la connexion ==== | ||
< | < | ||
Ligne 254: | Ligne 293: | ||
Attention, la configuration en SUDO n'est pas encore opérationnel, | Attention, la configuration en SUDO n'est pas encore opérationnel, | ||
</ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | become_method: | ||
+ | </ | ||
+ | |||
< | < | ||
vi playbook-mes-serveurs.yml | vi playbook-mes-serveurs.yml | ||
- hosts: all | - hosts: all | ||
become: true | become: true | ||
- | # élévation des privilèges avec la commande SU | + | # élévation des privilèges avec la commande SU uniquement avant la politique SUDO |
become_method: | become_method: | ||
name: conformité ensemble | name: conformité ensemble | ||
Ligne 265: | Ligne 309: | ||
</ | </ | ||
+ | <WRAP center round info 60%> | ||
+ | L' | ||
+ | </ | ||
+ | <WRAP center round info 60%> | ||
+ | L' | ||
+ | </ | ||
Commande pour passer les " | Commande pour passer les " | ||
< | < | ||
ansible-playbook playbook-mes-serveurs.yml -l alabourre -b -K --tags sudo, | ansible-playbook playbook-mes-serveurs.yml -l alabourre -b -K --tags sudo, | ||
</ | </ | ||
+ | |||
+ | |||
+ | Résultat de la commande | ||
+ | < | ||
+ | BECOME password: | ||
+ | |||
+ | PLAY [conformité ensemble] ***************************************************************************************************************************************************************** | ||
+ | |||
+ | TASK [Gathering Facts] ********************************************************************************************************************************************************************* | ||
+ | changed: [alabourre] | ||
+ | |||
+ | TASK [common : Prérequis Package sudo] ***************************************************************************************************************************************************** | ||
+ | changed: [alabourre] | ||
+ | |||
+ | TASK [common : Groupe Admin] *************************************************************************************************************************************************************** | ||
+ | changed: [alabourre] | ||
+ | |||
+ | TASK [common : sudo passwordless] ********************************************************************************************************************************************************** | ||
+ | changed: [alabourre] | ||
+ | |||
+ | TASK [common : Utilisateurs " | ||
+ | changed: [alabourre] => (item=john) | ||
+ | |||
+ | TASK [common : Clés SSH des utilisateurs] ************************************************************************************************************************************************** | ||
+ | changed: [alabourre] => (item=/ | ||
+ | |||
+ | PLAY RECAP ********************************************************************************************************************************************************************************* | ||
+ | alabourre | ||
</ | </ | ||
+ | |||
+ | Maintenance vous pouvez réaliser toutes les opérations directement via ansible sur ce serveur. | ||
+ | Il faut modifier tout de même la méthode de connexion au serveur: | ||
+ | < | ||
+ | vi playbook-mes-serveurs.yml | ||
+ | - hosts: all | ||
+ | become: true | ||
+ | # élévation des privilèges avec la commande SU uniquement avant la politique SUDO | ||
+ | # become_method: | ||
+ | name: conformité ensemble | ||
+ | roles: | ||
+ | - common | ||
</ | </ | ||
+ | **Maintenant, | ||
+ | < | ||
+ | < | ||
+ | PLAY [conformité ensemble] ***************************************************************************************************************************************************************** | ||
+ | TASK [Gathering Facts] ********************************************************************************************************************************************************************* | ||
+ | ok: [alabourre] | ||
+ | |||
+ | TASK [common : Prérequis Package sudo] ***************************************************************************************************************************************************** | ||
+ | ok: [alabourre] | ||
+ | |||
+ | TASK [common : Groupe Admin] *************************************************************************************************************************************************************** | ||
+ | ok: [alabourre] | ||
+ | |||
+ | TASK [common : sudo passwordless] ********************************************************************************************************************************************************** | ||
+ | ok: [alabourre] | ||
+ | |||
+ | TASK [common : Utilisateurs " | ||
+ | ok: [alabourre] => (item=john) | ||
+ | |||
+ | TASK [common : Clés SSH des utilisateurs] ************************************************************************************************************************************************** | ||
+ | ok: [alabourre] => (item=/ | ||
+ | |||
+ | PLAY RECAP ********************************************************************************************************************************************************************************* | ||
+ | alabourre | ||
+ | |||
+ | </ |
ansible/pourcommencer.txt · Dernière modification : 2021/02/10 20:11 de tonio