Topologie du réseau :
Ici le linuxhint-711ea est un Ubuntu 20.04 Machine LTS où je vais installer Ansible.
Ensuite, je vais configurer les hôtes hôte1 (adresse IP 192.168.20.162) et hôte2 (adresse IP 192.168.20.153) pour l'automatisation Ansible et exécutez des commandes dessus à l'aide d'Ansible à partir du linuxhint-711ea machine.
je vais simplement appeler hôte1 et hôte2 en tant qu'hôtes Ansible dans cet article.
Installation d'Ansible :
Vous pouvez facilement installer Ansible sur Ubuntu 20.04 LTS du référentiel de packages officiel d'Ubuntu.
Tout d'abord, mettez à jour le cache du référentiel de packages APT avec la commande suivante :
$ sudo apt mise à jour
Le cache du référentiel de packages APT doit être mis à jour.
Maintenant, installez Ansible avec la commande suivante :
$ sudo apt installer ansible
Pour confirmer l'installation, appuyez sur Oui puis appuyez sur
Ansible doit être installé.
Maintenant, exécutez la commande suivante pour vérifier si ansible fonctionne correctement.
$ ansible --versionComme vous pouvez le voir, la commande ansible est disponible et fonctionne correctement.
Génération de la clé SSH :
Maintenant, vous devez générer une clé SSH sur l'ordinateur où vous avez installé Ansible.
Pour générer une clé SSH, exécutez la commande suivante :
$ ssh-keygen
Maintenant, appuyez sur
presse
presse
Une clé SSH doit être générée.
Configuration des hôtes Ubuntu pour Ansible Automation :
Dans cette section, je vais vous montrer comment configurer un hôte Ubuntu (hôte1) pour l'automatisation Ansible. Si vous avez plusieurs hôtes que vous souhaitez automatiser à l'aide d'Ansible, répétez le même processus sur chacun des hôtes.
Les hôtes Ubuntu Ansible (que vous souhaitez configurer pour l'automatisation Ansible) doivent avoir un package de serveur SSH installé.
Tout d'abord, mettez à jour le cache du référentiel de packages APT avec la commande suivante :
$ sudo apt mise à jour
Ensuite, installez le serveur OpenSSH avec la commande suivante :
$ sudo apt install openssh-server -y
Dans mon cas, le package du serveur OpenSSH est déjà installé. S'il n'est pas installé dans votre cas, il devrait être installé.
Maintenant, vérifiez si le sshd le service s'exécute avec la commande suivante :
$ sudo systemctl status sshdComme vous pouvez le voir, le sshd le service est actif (courir) et activée (démarre automatiquement au démarrage du système).
Si la sshd le service n'est pas actif (en cours d'exécution) dans votre cas, démarrez-le manuellement avec la commande suivante :
$ sudo systemctl démarrer sshdSi la sshd le service n'est pas activée (non ajouté au démarrage du système) dans votre cas, ajoutez-le manuellement au démarrage du système avec la commande suivante :
$ sudo systemctl activer sshdMaintenant, configurez le pare-feu pour autoriser l'accès SSH avec la commande suivante :
$ sudo ufw autoriser ssh
Vous devez également créer un ansible utilisateur et autoriser l'accès sudo sans mot de passe au ansible utilisateur.
Pour créer un ansible utilisateur, exécutez la commande suivante :
$ sudo adduser ansible
Maintenant, saisissez un mot de passe pour le ansible utilisateur et appuyez sur
Maintenant, retapez le mot de passe et appuyez sur
Maintenant, appuyez sur
Maintenant, appuyez sur
Maintenant, appuyez sur
Maintenant, appuyez sur
Maintenant, appuyez sur
Maintenant, tapez oui puis appuyez sur
Un ansible l'utilisateur doit être créé.
Maintenant, configurez l'accès sudo sans mot de passe au ansible utilisateur avec la commande suivante :
$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/anible
Maintenant, trouvez l'adresse IP de l'hôte Ansible (hôte1) avec la commande suivante :
$ nom d'hôte -IIci, l'adresse IP dans mon cas est 192.168.20.162. Ce sera différent pour toi. Alors, assurez-vous de le remplacer par le vôtre maintenant sur.
Maintenant, à partir de l'ordinateur sur lequel vous avez installé Ansible, copiez la clé publique SSH sur l'hôte Ansible (hôte1) comme suit:
$ ssh-copy-id [email protected]
Tapez Oui et appuyez sur
Maintenant, tapez le mot de passe pour le ansible utilisateur et appuyez sur
La clé publique SSH doit être copiée dans hôte1.
Maintenant, désactivez la connexion par mot de passe pour le ansible utilisateur avec la commande suivante :
$ sudo usermod -L ansible
Désormais, vous ne pouvez vous connecter qu'en SSH à l'hôte Ansible (hôte1) comme ansible utilisateur sans mot de passe de l'ordinateur à partir duquel vous avez copié la clé publique SSH (dans ce cas, l'ordinateur sur lequel vous avez installé Ansible). Mais vous ne pourrez pas vous connecter en SSH à l'hôte Ansible (hôte1) comme ansible utilisateur depuis n'importe quel autre ordinateur. J'ai configuré les hôtes Ansible de cette façon pour des raisons de sécurité. Comme le ansible l'utilisateur n'a pas besoin de mot de passe pour exécuter les commandes administratives, il est risqué d'autoriser la connexion par mot de passe pour le ansible utilisateur.
Maintenant, vous devriez pouvoir vous connecter en SSH à l'hôte ansible hôte1 depuis l'ordinateur sur lequel vous avez installé Ansible comme suit :
$ ssh [email protected]
Comme vous pouvez le voir, je peux accéder à l'hébergeur Ansible (hôte1) en tant qu'utilisateur ansible sans aucun mot de passe. Ainsi, l'hôte Ansible (hôte1) est prêt pour l'automatisation Ansible.
Si, pour une raison quelconque, vous souhaitez autoriser la connexion par mot de passe pour le ansible utilisateur à nouveau, exécutez la commande suivante dans l'hôte Ansible (hôte1):
$ sudo usermod -U ansible
Vous pouvez configurer autant d'hôtes que vous le souhaitez pour l'automatisation Ansible de la même manière.
Dans cet article, je n'ai configuré que 2 hôtes, hôte1 et hôte2 pour la démonstration.
Test d'Ansible :
Maintenant, créez un nouveau répertoire de projet ~/ansible-demo/ sur l'ordinateur sur lequel vous avez installé Ansible comme suit :
$ mkdir ~/ansible-demo
Maintenant, naviguez jusqu'au ~/ansible-demo/ répertoire comme suit :
$ cd ~/ansible-demo/
Maintenant, créez un nouveau hôtes fichier dans le répertoire du projet comme suit :
$ nano hôtes
Maintenant, saisissez les adresses IP ou les noms DNS des hôtes Ansible (hôte1 et hôte2 dans mon cas) dans le hôtes fichier comme suit :
192.168.20.162192.168.20.153
Maintenant, enregistrez le fichier en appuyant sur
Maintenant, essayez de pinger tous les hôtes à l'aide d'Ansible comme suit :
$ ansible tout -i ./hosts -u ansible -m pingREMARQUE: Ici, l'option -u est utilisée pour spécifier le nom d'utilisateur (ansible dans ce cas) qu'Ansible utilisera pour SSH dans les hôtes.
Comme vous pouvez le voir, tous les hôtes peuvent être cinglés. Ainsi, les hôtes sont prêts pour l'automatisation Ansible.
De la même manière, vous pouvez exécuter n'importe quelle commande dans les hôtes à l'aide d'Ansible comme suit :
$ ansible all -i ./hosts -u ansible -m shell -a 'echo "$(hostname) - $(hostname -I)"'
Comme vous pouvez le voir, la commande s'est exécutée avec succès dans chacun des hôtes et la sortie est affichée.
Alors, voici comment installer Ansible sur Ubuntu 20.04 LTS et configurer Ubuntu 20.04 hôtes LTS pour l'automatisation Ansible. Merci d'avoir lu cet article.