Eu não acho que você pode criptografar o arquivo hosts. Uma abordagem muito melhor seria ter informações confidenciais, como credenciais armazenadas em um arquivo vars secundário criptografado com o ansible-vault, e incluir apenas esse arquivo no seu manual:
- hosts: all
sudo: yes
gather_facts: yes
vars_files:
- /path/to/encrypted/vars.yml
Seu arquivo inventory
contém um host:
10.1.1.2
Seu vars/vars.yml
armazenará suas credenciais:
ansible_ssh_user: vagrant
ansible_ssh_password: vagrant
Para usar mais de um host, você pode adicionar grupos ao arquivo de inventário. Os hosts que estão no grupo específico estão compartilhando as mesmas credenciais:
[group1]
10.1.1.2
10.1.1.3
[group2]
10.1.1.4
10.1.1.5
Seu manual agora terá duas seções de hosts:
- hosts: group1
vars_files:
- vars/group1.yml
- hosts: group2
vars_files:
- vars/group2.yml
Os arquivos group1.yml
e group2.yml
devem compartilhar a mesma senha.