对Ansible主用户来说,似乎只有两种合理的方法:
root
NOPASSWD
sudo
访问另一个用户(例如, ansible
) 第一个选项是禁止使用,因为我不敢保持PermitRootLogin
。 所以,默认情况下,第二个选项似乎是要走的路。
我至less在/etc/ssh/sshd_config
:
Match User ansible PasswordAuthentication No
并通过使用authorized_keys
的from
选项将密钥用法限制到Ansible主机:
from="192.168.100/24"
到目前为止,我的想法还有其他想法或问题吗?
这些措施,我使用的客户端,必须通过SSH远程pipe理(在我的情况下使用BackupPC而不是Ansible,但它的工作方式相同)。
如果你只使用ssh来pipe理客户端,而不是shell访问,那么它会提高安全性来添加
AllowUsers ansible PasswordAuthentication no
你可以有一个用户帐户,需要SUDO访问密码,并在运行时通过--ask-sudo-pass
标志( -K
)提供该值
ansible-playbook -i inv/production -K playbook.yml
有关更多详细信息,请参阅http://docs.ansible.com/playbooks_intro.html