Я хотів би використовувати ansible для управління групою існуючих серверів. Я створив ansible_hosts
файл і успішно протестував (з -K
опцією) з командами, націленими лише на одного хоста
ansible -i ansible_hosts host1 --sudo -K # + commands ...
Моя проблема зараз полягає в тому, що паролі користувачів на кожному хості різні, але я не можу знайти спосіб обробки цього в Ansible.
Використовуючи -K
, мені пропонується ввести лише один пароль sudo на передній панелі, який потім, здається, буде випробувано для всіх наступних хостів, не вимагаючи:
host1 | ...
host2 | FAILED => Incorrect sudo password
host3 | FAILED => Incorrect sudo password
host4 | FAILED => Incorrect sudo password
host5 | FAILED => Incorrect sudo password
Дослідження поки що:
StackOverflow питання одним неправильної відповіді ( «використання
-K
») і одна відповідь автор кажучи "Дізнався я потребував в беспарольному Sudo"Документи Ansible , в яких сказано: "Використання судового пароля без проблем робить речі легшими для автоматизації, але це не потрібно ". (наголос мій)
це питання StackExchange безпеки, яке сприймає його як прочитане, що
NOPASSWD
потрібностаття "Масштабоване та зрозуміле забезпечення ...", де сказано:
"для запуску sudo може знадобитися введення пароля, що є вірним способом блокування Ansible назавжди. Просте виправлення - запустити visudo на цільовому хості та переконатися, що користувач Ansible використовуватиме для входу не потрібно вводити пароль"
стаття "Основні відповідні ігрові книги" , в якій сказано
"Ansible міг би увійти на цільовий сервер як root та уникнути потреби в sudo, або дозволити користувачеві Ansible мати sudo без пароля. не "
Мої думки точно, але як потім вийти за межі одного сервера?
Ansible issue # 1227 , "Ansible повинен запитати пароль для sudo для всіх користувачів у програмі", яка була закрита рік тому mpdehaan з коментарем "Я не бачив великого попиту на це, я думаю, що більшість людей погоджуються лише з одним обліковий запис користувача або використовуючи ключі більшість часу. "
Отже ... як люди використовують Ansible у таких ситуаціях? Установка NOPASSWD
в /etc/sudoers
, повторне використання пароля по хостам або дозволяючи кореневої SSH логін все , здається , досить різке скорочення безпеки.
sudo
(для чого все-таки потрібен пароль).
ansible_ssh_password
параметр застосовується тільки до паролю SSH (розгадка в ім'я ...). & Я вже використовую ключ на основі SSH.