Я работаю над сборником сценариев 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
(Мне не нравятся вопросы, на которые нет принятого ответа, потому что ответ в комментариях ...)