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:04] – [Le rôle, les tâches, les tags] tonio | ansible:pourcommencer [2021/02/07 08:26] – [Initialisation] 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**. | ||
+ | </ | ||
+ | |||
+ | |||
===== 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 220: | Ligne 238: | ||
</ | </ | ||
+ | ===== 1er connexion pour valider le bon fonctionne d' | ||
+ | ==== Connexion avec un utilisateur ==== | ||
+ | Lors de la 1er connexion, il y a un échange des clés qui doit être validé par l' | ||
+ | < | ||
+ | ssh 192.168.1.1 | ||
+ | The authenticity of host ' | ||
+ | ECDSA key fingerprint is SHA256: | ||
+ | Are you sure you want to continue connecting (yes/ | ||
+ | Warning: Permanently added ' | ||
+ | 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 ==== | ||
+ | < | ||
+ | ssh-copy-id john@192.168.1.1 | ||
+ | / | ||
+ | / | ||
+ | john@192.168.1.1' | ||
+ | |||
+ | Number of key(s) added: 1 | ||
+ | |||
+ | Now try logging into the machine, with: " | ||
+ | and check to make sure that only the key(s) you wanted were added. | ||
+ | </ | ||
+ | Maintenant, vous pouvez vous connecter sans mot de passe à votre serveur. | ||
+ | |||
+ | ---- | ||
+ | **On va passer l' | ||
+ | <WRAP center round tip 60%> | ||
+ | Avoir le mot de passe ROOT | ||
+ | </ | ||
+ | Déploiement de la configuration pour automatiser les connexions | ||
+ | <WRAP center round important 60%> | ||
+ | Attention, la configuration en SUDO n'est pas encore opérationnel, | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | become_method: | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info 60%> | ||
+ | L' | ||
+ | </ | ||
+ | <WRAP center round info 60%> | ||
+ | L' | ||
+ | </ | ||
+ | Commande pour passer les " | ||
+ | < | ||
+ | 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