Назад | Перейти на главную страницу

Как поделиться пользовательским ключом Ansible deploy с командой

Я работаю над сборником сценариев Ansible для автоматизации подготовки нашего сервера, но я наткнулся на твердую кирпичную стену, с которой не знаю, что делать. В своей локальной системе я создал пару ключей SSH для использования на удаленных хостах. Затем я вручную настроил доступного пользователя на удаленных хостах и ​​скопировал на них свой доступный открытый ключ. Теперь Ansible может аутентифицироваться на моих удаленных хостах без пароля. Отлично.

Моя проблема в том, что эта книга будет храниться в репозитории git и использоваться командой. Если кто-то из команды внесет изменение в playbook и захочет запустить его на наших удаленных хостах, он не сможет это сделать, потому что у него нет закрытого ключа для удаленного «доступного» пользователя.

Как правильно действовать в этом сценарии?

Как указано в комментариях, правильный способ решения этой проблемы - добавить public ssh key от каждого разработчика удаленному пользователю Ansible. Это можно сделать с помощью Ansible, используя авторизованный_key модуль вроде этого:

- name: Set up authorized keys for ansible user.
  authorized_key:
    user: ansible
    state: present
    key: '{{ item }}'
  with_file:
    - public_keys/doe-jane
    - public_keys/doe-john

(Мне не нравятся вопросы, на которые нет принятого ответа, потому что ответ в комментариях ...)