Question:
I am new to Ansible and I am trying to implement it. I tried all the possible ways present on the Internet and also all questions related to it, but still I can’t resolve the error. How can I fix it?
I installed Ansible playbook on my MacBook Pro. I created a VM whose IP address is 10.4.1.141 and host IP address is 10.4.1.140.
I tried to connect to my VM using the host via SSH. It connected by the following command:
1 2 |
ssh user@10.4.1.141 |
And I got the shell access. This means my SSH connection is working fine.
Now I tried the following command for Ansible:
1 2 |
ansible all -m ping |
And the content in the /etc/ansible/host
is 10.4.1.141
.
Then it shows the following error:
10.4.1.141 | FAILED => SSH Error: Permission denied (publickey,password).
while connecting to 10.4.1.141:22
It is sometimes useful to rerun the command using -vvvv
, which prints SSH debug output to help diagnose the issue.
Then I tried creating the config
file in .ssh/
folder on the host machine, but the error is still the same.
The content of the config
file is:
1 2 |
IdentityFile ~/.ssh/id_rsa |
which is the path to my private key.
Then I ran the same command ansible all -m ping
and got the same error again.
When I tried another command,
1 2 |
ansible all -m ping -u user --ask-pass |
Then it asked for the SSH password. I gave it (I am very sure the password is correct), but I got this error:
10.4.1.141 | FAILED => FAILED: Authentication failed.
This is the log using -vvvv
:
1 2 3 4 5 6 7 |
<10.4.1.141> ESTABLISH CONNECTION FOR USER: rajatg <10.4.1.141> REMOTE_MODULE ping <10.4.1.141> EXEC ssh -C -tt -vvv -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/rajatg/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 10.4.1.141 /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007 && echo $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007' 10.4.1.141 | FAILED => SSH Error: Permission denied (publickey,password). while connecting to 10.4.1.141:22 It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue. |
I am still not able to figure it out what the problem is. It is my last choice to ask it here after doing my all research.
Answer:
I fixed the issue. The problem was in my /etc/ansible/hosts
file.
The content written in /etc/ansible/hosts
was 10.4.1.141
. But when I changed it to rajat@10.4.1.141
, then the issue got fixed.