Ansible

Installer Ansible sur Debian pour l'automatisation

Installer Ansible sur Debian pour l'automatisation

Topologie de réseau

Ici, ansible-pc est une machine Debian 10 sur laquelle nous allons installer Ansible.

Les serveurs 6f7c2 et 6b219 sont des machines Debian 10 que nous allons configurer pour l'automatisation Ansible. Je vais simplement appeler ces serveurs hôtes Ansible dans le cadre de cet article.

Nous pouvons utiliser Ansible à partir de ansible-pc pour automatiser différentes tâches dans le 6f7c2 et 6b219 Serveurs Debian.

Installer Ansible

Dans cette section, je vais vous montrer comment installer Ansible sur ansible-pc.

Vous pouvez installer Ansible sur Debian 10 à partir du référentiel de paquets officiel de Debian.

Tout d'abord, mettez à jour le cache du référentiel de packages APT avec la commande suivante :

$ sudo apt mise à 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 --version

Comme vous pouvez le voir, la commande ansible est disponible et fonctionne correctement. Ansible 2.7.7 est la dernière version d'Ansible disponible dans le référentiel de paquets Debian au moment de la rédaction de cet article.

Génération de la clé SSH

Sur la machine Debian 10 (ansible-pc) où vous avez installé Ansible, vous devez d'abord générer une clé SSH.

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 Debian pour Ansible Automation

Dans cette section, je vais vous montrer comment configurer un hôte Debian 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 pour chacun des hôtes.

Les hôtes que vous souhaitez configurer pour l'automatisation Ansible doivent avoir le package de serveur SSH pré-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 doit être installé avant cette étape.

Maintenant, vérifiez si le sshd le service s'exécute via la commande suivante :

$ sudo systemctl status sshd

Comme 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 est pas actif (en cours d'exécution), démarrez-le manuellement avec la commande suivante :

$ sudo systemctl démarrer sshd

Si 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 sshd

Maintenant, créez 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 --shell /bin/bash --gecos "" ansible

Saisissez un mot de passe pour le ansible utilisateur et appuyez sur .

Retapez le mot de passe et appuyez sur .

Un ansible l'utilisateur doit être créé.

Maintenant, pour autoriser l'accès sudo sans mot de passe au ansible utilisateur, modifiez le /etc/sudoers fichier avec la commande suivante :

$ sudo visudo

Maintenant, ajoutez la ligne suivante au /etc/sudoers déposer.

ansible ALL=(ALL) NOPASSWD:ALL

Ensuite, enregistrez le fichier en appuyant sur + X suivie par Oui, puis appuyez sur .

Maintenant, trouvez l'adresse IP de l'hôte Ansible 6f7c2 avec la commande suivante :

$ nom d'hôte -I

Ici, l'adresse IP dans mon cas est 192.168.20.167. Ce sera différent pour toi. Alors, assurez-vous de remplacer cette adresse par votre propre formulaire maintenant sur.

Copier la clé publique SSH sur l'hôte Ansible

Depuis l'ordinateur sur lequel vous avez installé Ansible (ansible-pc), copiez la clé publique SSH sur l'hôte Ansible 6f7c2 comme suit:

$ ssh-copy-id [email protected]

Tapez Oui et appuyez sur .

Saisissez ensuite le mot de passe du ansible utilisateur et appuyez sur .

La clé publique SSH doit être copiée sur l'hôte Ansible 6f7c2.

Vous devriez pouvoir vous connecter en SSH à l'hôte Ansible 6f7c2 en tant qu'utilisateur ansible sans aucun mot de passe, comme vous pouvez le voir sur la capture d'écran ci-dessous :

$ ssh [email protected]

Vous devriez également pouvoir exécuter des commandes sudo sans être invité à saisir un mot de passe.

$ sudo ls /

Enfin, fermez la session SSH comme suit :

$ sortie

Sécurisation des hôtes Ansible

Comme le ansible l'utilisateur peut exécuter n'importe quelle commande sudo sans être invité à saisir un mot de passe, nous avons configuré la connexion basée sur la clé SSH pour les hôtes Ansible. Mais, vous pouvez toujours vous connecter en SSH aux hôtes Ansible en tant que ansible utilisateur utilisant le mot de passe du ansible utilisateur. Donc, ce n'est pas très sûr.

Pour améliorer la sécurité, exécutez la commande suivante sur les hôtes Ansible pour désactiver la connexion par mot de passe pour le ansible utilisateur:

$ sudo usermod -L ansible

Si vous décidez ultérieurement d'activer la connexion par mot de passe pour le ansible utilisateur, exécutez la commande suivante sur l'hôte Ansible :

$ sudo usermod -U ansible

Tester Ansible

Créer un nouveau répertoire de projet ~/projet/ sur la machine Debian où vous avez installé Ansible (ansible-pc) en utilisant le code suivant :

$ mkdir ~/projet

Naviguez vers le ~/projet/ répertoire à l'aide du code suivant :

$ cd ~/projet/

Créer un nouveau hôtes fichier dans le répertoire du projet comme suit :

$ nano hôtes

Maintenant, répertoriez les adresses IP ou les noms DNS des hôtes Ansible (6f7c2 et 6b219 dans mon cas) dans le hôtes déposer:

192.168.20.167
192.168.20.168

Une fois que vous avez terminé, enregistrez le fichier en appuyant sur + X suivie par Oui puis frappe .

Pour tester, essayez de pinger tous les hôtes à l'aide d'Ansible avec le code suivant :

$ ansible -i ./hosts all -u ansible -m ping

REMARQUE: Ici le -vous L'option 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, Ansible peut accéder à tous les hôtes. Ainsi, les hôtes sont prêts pour l'automatisation Ansible.

C'est ainsi que vous installez Ansible sur Debian 10 et configurez les hôtes Debian pour l'automatisation Ansible. Merci d'avoir lu cet article.

Meilleurs émulateurs de console de jeu pour Linux
Cet article répertorie les logiciels d'émulation de console de jeu populaires disponibles pour Linux. L'émulation est une couche de compatibilité logi...
Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...