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