Installation & utilisation d'Ansible
Installation de l'environnement virtuel python
Création de l'utilisateur d'ansible :
adduser user-ansible
Installation de l'environnement virtuel python :
apt-get install python-virtualenv sshpass
sshpass sert au bon fonctionnement de la suite !
Changement d'utilisateur :
su - user-ansible
Lancement de l'environnement virtuel :
virtualenv ansible4.6.0
Activation de l'environnement virtuel :
source ansible4.6.0/bin/activate
Installation d'ansible
Installation d'ansible :
pip install ansible==4.6.0
Est-ce que ansible est bien installé ?
ansible --version
Préparation de la communication avec les nodes
Définition des nodes :
Création du fichier de définition des nodes :
nano inventaire.ini
http1
bdd1
Modification de notre fichier host :
nano /etc/hosts
On ajoute :
# le node http1
34.88.193.243 http1
# le node bdd1
35.228.198.62 bdd1
Test du bon fonctionnement SSH des nodes :
ssh root@http1
ssh root@bdd1
Réalisation de pings sur nos nœuds :
ansible -i inventaire.ini -m ping http1 --user root --ask-pass
ansible -i inventaire.ini -m ping bdd1 --user root --ask-pass
Installation de python à distance sur nos nœuds :
ansible -i inventaire.ini -m raw -a "yum install -y python3" http1 --user root --ask-pass
ansible -i inventaire.ini -m raw -a "yum install -y python3" bdd1 --user root --ask-pass
Résultat :
Génération d'une chaine SHA-512 :
ansible localhost -i inventaire.ini -m debug -a "msg={{ 'passforce' | password_hash('sha512', 'sceretsalt') }}"
Résultat :
localhost | SUCCESS => {
"msg": "$6$sceretsalt$tBcfGEgifQpQZsg5CIGZ79XC55h5vHy7UWrys7cAF37KNCQQbm7iCvy58MlLQLaS2fLF6ZjqDVHhVrkMdRi0f0"
}
Notre clef SHA-512 a bien été générée !
Création d'un utilisateur nommé "ansible" sur tous les nodes :
ansible -i inventaire.ini -m user -a 'name=user-ansible password=$6$sceretsalt$tBcfGEgifQpQZsg5CIGZ79XC55h5vHy7UWrys7cAF37KNCQQbm7iCvy58MlLQLaS2fLF6ZjqDVHhVrkMdRi0f0' --user root --ask-pass http1
ansible -i inventaire.ini -m user -a 'name=user-ansible password=$6$sceretsalt$tBcfGEgifQpQZsg5CIGZ79XC55h5vHy7UWrys7cAF37KNCQQbm7iCvy58MlLQLaS2fLF6ZjqDVHhVrkMdRi0f0' --user root --ask-pass bdd1
Résultat :
Mettez évidement votre chaine à vous !
Ajout des droits de sudoers à nos nouveaux utilisateurs :
ansible -i inventaire.ini -m user -a 'name=user-ansible groups=wheel append=yes ' --user root --ask-pass http1
ansible -i inventaire.ini -m user -a 'name=user-ansible groups=wheel append=yes ' --user root --ask-pass bdd1
Nos deux utilisateurs sont maintenant sudoers !
Génération de clefs SSH :
ssh-keygen -t ecdsa
Ajoutez la clé publique de l’utilisateur user-ansible sur les nodes :
ansible -i inventaire.ini -m authorized_key -a 'user=user-ansible state=present key="{{ lookup("file", "/home/user-ansible/.ssh/id_ecdsa.pub") }}"' --user user-ansible --ask-pass all







