Кажется, что существует только два разумных подхода для основного пользователя Ansible:
root
ansible
) с NOPASSWD
sudo
доступПервая опция является остановкой, так как я съеживаюсь при мысли о хранении PermitRootLogin
на. Так, по умолчанию 2-я опция, кажется, способ пойти.
Я думал, по крайней мере, в /etc/ssh/sshd_config
:
Match User ansible
PasswordAuthentication No
И ограничение ключевого использования к Ansible размещает при помощи from
опция в authorized_keys
:
from="192.168.100/24"
Какие-либо другие идеи или проблемы/проблемы с моими мыслями до сих пор?
Эти меры я использую для клиентов, которыми необходимо удаленно управлять через ssh (в моем случае, используя BackupPC вместо Ansible, но он работает таким же образом).
Если вы используете ssh только для управления клиентами, а не для доступа в оболочку, то это улучшит безопасность, добавив
AllowUsers ansible
PasswordAuthentication no
Вы можете иметь учетную запись пользователя, для которой требуется пароль для доступа к SUDO, и предоставлять это значение во время выполнения с помощью флага - ask-sudo-pass
( -K
) для ansible-playbook
ansible-playbook -i inv/production -K playbook.yml
см. http://docs.ansible.com/playbooks_intro.html для получения дополнительных сведений