ansible

Ansible update user password


ansible 192.168.1.115 -s -m shell -a "echo -e 'oldpassword\nnewpassword\nnewpassword' | passwd myuser" -u myuser --ask-sudo-pass

I would like to update existing user with new password, I had tried this command, but it doesn't work

appreciate any Tips !


Solution

  • You can leverage the user module to quickly change the password for desired account. Ansible doesn’t allow you to pass a cleartext password to user module so you have to install a password hashing library to be leveraged by Python.

    To install the library:

    sudo -H pip install passlib
    

    Then simply exexute your command:

    ansible 192.168.1.115 -s -m user -a "name=root update_password=always password={{ yourpassword | password_hash('sha512') }}" -u myuser --ask-sudo-pass
    

    Hope that help you