1
votes

I am trying to execute an ansible script against a server1.xxx.com, I am getting a permission denied error.

I have created a ssh key using command

ssh-keygen -f t11pkey

and also have added passphrase, copied the key to the server.

ssh-copy-id -i /home/user.name/t11pkey.pub [email protected]

my ~/.ssh/config

Host server?.xxx.com
  User user.name
  Port 22
  IdentityFile /home/user.name/.ssh/t11pkey.pub

Permission of my keys:

-rw-------  1 user.name Domain Users  1766 Dec  5 10:55 t11pkey
-rw-------  1 user.name Domain Users   412 Dec  5 10:55 t11pkey.pub

ansible.cfg

[defaults]
filter_plugins =./filter_plugins
roles_path = ./roles
sudo_user = root
host_key_checking = False
retry_files_enabled = False

[ssh_connection]
ssh_args = -F /home/user.name/.ssh/config -o ControlMaster=auto -o ControlPersist=30m
control_path = ~/.ssh/ansible-%%r@%%h:%%p

inventory file

[new]
server1.xxx.com

my ansible-playbook


- hosts: new
  remote_user: user.name
  become: true
  vars_files:
    - xx.yml
    - xx.yml
    - xx.yml
  roles:
    - role: ~/path/to/the/role

Anisble error:

 TASK [Gathering Facts] *****************************************************************************************************************************************************
Enter passphrase for key '/home/user.name/.ssh/t11pkey.pub':
Enter passphrase for key '/home/user.name/.ssh/t11pkey.pub':
Enter passphrase for key '/home/user.name/.ssh/t11pkey.pub':
fatal: [server1.xxx.com]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n", "unreachable": true}

ansible --version: ansible 2.3.1.0 (stable-2.3 5512c94017) last updated 2017/06/21 22:56:43 (GMT -400)

1

1 Answers

1
votes

IdentityFile parameter in the config file should point to the private key (t11pkey), not the public one (t11pkey.pub).