Я уверен, что кто-то здесь может решить мою проблему.Я создаю пользователей на хостах, которые определены в моем файле Ansible hosts.НО, когда пользователи хотят войти в систему, пользователь root должен определить пароль пользователя.Мне нужно автоматизировать создание пользовательских паролей.
Чтобы создать пользовательские пароли с помощью playbook, мы не можем указать пароль открытым текстом, мы можем сделать это только путем предоставления хеша:
- name: Add Users + Assign to Group
user:
name: "{{ item }}"
password: $6$ul4TACYvHI.kmGUK$j32lU8fNbX.eW0DZOqnnDlP8i0...
Чтобы создать хэш, 1-й шаг - определить пароль, войдя на целевой сервер как root, а затем использовать python-crypt для создания хэша.После запуска команды терминал предоставит хеш, который я вставлю в книгу.(в приведенном ниже примере пароль «ansible»)
python -c 'import crypt; print crypt.crypt("ansible")'
Когда я запускаю playbook на целевом сервере, я могу войти в систему как пользователь, который создал playbook с паролем, который я определил с помощью python-crypt (в этом случае я вхожу как user2 с паролем «ansible»)
login as: user2
user1@10.65.8.50's password: "ansible"
[user1@hostname ~]$
Это означает, что мне нужно создать хэш в терминале сервера, на котором я создаю пользователей, затем скопировать ивставьте этот хэш в playbook.Нет особых проблем, если у меня есть один сервер, но если я использую playbook на 100 серверах, мне нужно войти на 100 серверов как root и создать 100 хешей, а затем определить все эти хеши в playbook, что не очень автоматизировано!
Итак, что нужно, так это возможность выполнить python-crypt из playbook, скопировать созданный хеш, а затем поместить его в playbook.У вас есть идеи, как это сделать?даже не в Ansible, я не ожидаю, что вы, ребята, напишите для меня сборник пьес.Возможно, подумайте, как бы вы сделали это в своем инструменте выбора, например, PowerShell.Как только у меня появится понимание процесса, я смогу перевести его в сборник пьес.
Любая помощь очень ценится!