Você está entendendo mal as duas configurações:
-
remote_user é uma configuração Ansible que controla o usuário do SSH que o Ansible está usando para conectar:
ssh ${REMOTE_USER}@remotehost
-
someusername ALL = (TODOS) NOPASSWD: ALL é uma configuração do sudo que permite a usuário
someusername
para executar todos os comandos em qualquer host sem uma senha. Ele não permite que ninguém emita comandos comosomeusername
.
O ideal é que você efetue login diretamente como o usuário certo e é isso que trata o remote_user
. Mas normalmente você só pode fazer login como um usuário administrativo (digamos, ubuntu
) e ter que usar comandos sudo como outro usuário (digamos scrapy
). Em seguida, você deve deixar remote_user
para o usuário que efetua login e incluir as seguintes propriedades visíveis no trabalho:
- name: log in as ubuntu and do something as scrapy
remote_user: ubuntu
sudo: true
sudo_user: scrapy
shell: do-something.sh