Lorsque j'ai essayé de changer le mot de passe root avec ansible, je ne pouvais pas y accéder.

Si vous écrivez une tâche appropriée comme celle ci-dessous, vous ne pourrez pas vous connecter à root, Je n'ai rien pu faire car je n'avais pas créé un autre utilisateur. .. ..

ansible:2.9.3 Système d'exploitation du nœud cible: CentOS 7.7

root_passwd_change.yml


---
- hosts: test
  become: true
  tasks:
    - name: passwd change
      user:
        name: root
        password: newpassword

Quand tu fais ça,

[root@ansible test]# ansible-playbook -i host root_passwd_change.yml

PLAY [test] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.1.136]

TASK [passwd change] ***********************************************************
[WARNING]: The input password appears not to have been hashed. The 'password'
argument must be encrypted for this module to work properly.

changed: [192.168.1.136]

PLAY RECAP *********************************************************************
192.168.1.136              : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

[WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this module to work properly.

Je me fâche, mais il semble que j'ai pu le changer avec la description de OK. Mais en réalité Si vous utilisez le mot de passe attendu, vous ne serez pas en mesure de ssh et vous ne pourrez pas vous connecter à partir de la console. Même si vous exécutez à nouveau le playbook, vous ne pourrez pas le modifier, vous devrez donc réinitialiser le mot de passe en mode de secours.

[root@ansible test]# ansible-playbook -i host root_passwd_change.yml

PLAY [test] *********************************************************************

TASK [Gathering Facts] *********************************************************
fatal: [192.168.1.136]: UNREACHABLE! => {"changed": false, "msg": "Invalid/incorrect password: Permission denied, please try again.", "unreachable": true}

PLAY RECAP *********************************************************************
192.168.1.136              : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0

Cause

[WARNING]: The input password appears not to have been hashed. The 'password' argument must be encrypted for this module to work properly.

C'est parce que le mot de passe est écrit solidement sans être haché comme en colère. Vous pouvez le modifier comme prévu en écrivant comme suit.

root_passwd_change.yml


---
- hosts: test
  become: true
  tasks:
    - name: passwd change
      user:
        name: root
        password:  "{{ 'newpassword' | password_hash('sha512') }}"

J'ai dû l'écrire en hash comme décrit dans le document ci-dessous.

https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#hashing-filters

Lorsque vous faites ce qui précède,

[root@ansible test]# ansible-playbook -i host root_passwd_change_fixed.yml

PLAY [test] *********************************************************************

TASK [Gathering Facts] *********************************************************
ok: [192.168.1.136]

TASK [passwd change] ***********************************************************
changed: [192.168.1.136]

PLAY RECAP *********************************************************************
192.168.1.136              : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

J'ai pu le changer comme je m'y attendais.

Recommended Posts

Lorsque j'ai essayé de changer le mot de passe root avec ansible, je ne pouvais pas y accéder.
Quand j'ai essayé de créer un VPC avec AWS CDK mais que je n'ai pas pu le faire
J'ai essayé de sauvegarder les données avec discorde
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé de toucher un fichier CSV avec Python
[CentOS] Lors de la modification ou de l’oubli du mot de passe root
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de résoudre le problème avec Python Vol.1
Dans IPython, quand j'ai essayé de voir la valeur, c'était un générateur, donc je l'ai inventé quand j'étais frustré.
Quand j'ai essayé de faire une communication socket avec Raspberry Pi, le protocole était différent
Ce que j'ai fait quand j'étais en colère de le mettre avec l'option enable-shared
J'ai essayé de faciliter la modification du paramètre du proxy authentifié sur Jupyter
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé de simuler la propagation de l'infection avec Python
J'ai essayé d'analyser les émotions de tout le roman "Weather Child" ☔️
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé de notifier les informations de retard de train avec LINE Notify
Quand j'essaye de pousser avec heroku, ça ne marche pas
J'ai essayé de gérer plusieurs utilisateurs (octroi de droits d'accès) avec ansible
Je veux changer le drapeau japonais en drapeau des Palaos avec Numpy
Ubuntu a explosé lorsque j'ai essayé de changer mon nom d'utilisateur
J'ai essayé de sortir le journal d'accès au serveur en utilisant Node.js
J'ai créé un serveur avec socket Python et ssl et j'ai essayé d'y accéder depuis le navigateur
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
J'ai essayé de décrire le trafic en temps réel avec WebSocket
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai essayé de traiter l'image en "style croquis" avec OpenCV
J'ai essayé de démarrer avec Bitcoin Systre le week-end
J'ai essayé de traiter l'image dans un "style de dessin au crayon" avec OpenCV
J'ai essayé d'agrandir la taille du volume logique avec LVM
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai essayé de l'étendre pour que la base de données puisse être utilisée avec le logiciel d'analyse de Wiire
Une histoire qui n'a pas fonctionné lorsque j'ai essayé de me connecter avec le module de requêtes Python
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de reconnaître le mot de réveil
J'ai essayé de commencer avec Hy
J'ai essayé d'exprimer de la tristesse et de la joie face au problème du mariage stable.
765 J'ai essayé d'identifier les trois familles professionnelles par CNN (avec Chainer 2.0.0)
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé de résumer la modélisation graphique.
Touches de karaoké assorties ~ J'ai essayé de le mettre sur Laravel ~ <en route>
J'ai essayé d'extraire automatiquement les mouvements des joueurs Wiire avec un logiciel
J'ai essayé d'apprendre l'angle du péché et du cos avec le chainer
J'ai essayé d'estimer le rapport de circonférence π de manière probabiliste
J'ai essayé de toucher l'API COTOHA
J'ai essayé avec les 100 meilleurs packages PyPI> J'ai essayé de représenter graphiquement les packages installés sur Python
J'ai essayé d'implémenter CVAE avec PyTorch
Ce que j'ai fait quand je ne pouvais pas trouver le point caractéristique avec le flux optique d'opencv et quand je l'ai perdu
J'ai essayé de jouer avec l'image avec Pillow
J'ai essayé d'analyser la négativité de Nono Morikubo. [Comparer avec Posipa]
J'ai essayé de rationaliser le rôle standard des nouveaux employés avec Python
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"