Search code examples
sshgoogle-cloud-platformansiblegoogle-cloud-shell

Running Automation on Google Cloud Virtual Instances using Ansible


I'm trying to automate google cloud virtual instances remotely only using external ip addresses of virtual machines. I can ssh into the virtual machines using command line with user name shishir9159_gmail_com . But If I use any ansible commands like this:

ansible -i hosts -u shishir9159_gmail_com --private-key=~/.ssh/google_compute_engine -m ping all

and it results in this following error:

"msg": "Failed to connect to the host via ssh: shishir9159@35.202.219.6: Permission denied (publickey,gssapi-keyex,gssapi-with-mic)."

I've added some parameters in my ansible.cfg:

host_key_checking = False
ssh_args = -o ControlMaster=no

But I don't think they do much of a help according to this post:
https://serverfault.com/questions/929222/ansible-where-do-preferredauthentications-ssh-settings-come-from

And I tried many methods and recommendations. I have a service account but it doesn't seem to me necessary for this simple ping command.


Solution

  • I solved the problem by adding ansible_ssh_user and ansible_ssh_pass at the hosts file. This post contain the solution. ansible SSH connection fail