I am using the host file as below,
[qa-workstations]
10.39.19.190 ansible_user=test ansible_ssh_pass=test
I am using below command to execute "whoami" command in host
root@Svr:~/ansible# ansible all -a "whoami" -i /etc/ansible/host
10.39.19.190 | success | rc=0 >>
root
ansible by default trying to use user name in which I have logged in, i.e root instead of test user which I have specified in host file
It works fine when I try to pass the username in ansible cli command
root@Svr:~/ansible# ansible all -a "whoami" -i /etc/ansible/host -u test
10.39.19.190 | success | rc=0 >>
test
But its not possible for me to pass username every time in CLI as different host uses different username. Also I don't have a key pair generated for each host, because host machine keeps changing often
version used:
ansible 1.5.4
Ubuntu 14.04 LTS
With recent versions of Ansible, you can use the ansible_user
parameter in the host definition.
For example, on the host mysql-host.mydomain
the user I need to connect with is mysql
:
[docker-hosts]
mysql-host.mydomain ansible_user=mysql
But as you are using an older version of ansible, you might need to use ansible_ssh_user
instead