LF
Today
S2E10
Это задание решил сделать на внешних VDS.
Подготовка:
Хотелось сделать, чтоб доступ от Ansible машины будет на одну VDS, от которой есть доступы к другим.
- VDS: LGC, Sibtorg, Stom и Hangars, доступа до которых нет.
- Прописываю их в hosts своего ансибла, проверяю
ping all -m ping- новые хосты анричеблы - Создаю везде УЗ ansible (руками, аккуратненько) и прописываю в sudoers.
- LGC будет джампхостом, на нее добавляю пубкей ансибл-машины.
ping all -m ping - lgc | SUCCESS - Для УЗ ansible на машине LGC сформировал уникальный ключ.
ssh-keygen -t ed25519 -C "lgc_vds_ansible" - Разнес публичный ключ по VDSкам. Тоже руками. И зря, потому что при джампхосте пробрасывается ключик ансибл машины. Ну то есть не совсем зря. Я из консоли ходил по сервакам и делал подготовительные работы. Роли есть и сделать все ими можно, но, т.к. эти сервера боевые - не стал пускать туда ансибла под рутом.
- Добавил на VDS для юзера ansible в autorized_keys ключик ансибл машины. Это позволило работать делегированию, но сломало всю логику задачи, т.к. появился доступ прямой ко всем VDS. Поэтому я в роли решил использовать ограничения.
- Сделал группу [vds] со всеми VDS и [jump] с хостом, откуда предполагается делегирование. И соответствующие when в роли.
- Проверочные таски показали, что заработало все вроде как надо. Добавил ансиблов на VDS в судоерс, чтоб роль могла создавать юзеров.
Почитал немного https://labex.io/ru/tutorials/ansible-how-to-master-ansible-delegation-techniques-392798