AnsibleでFailed to connect to the host via ssh: Permission deniedのエラーが出たとき

概要

AnsibleでFailed to connect to the host via ssh: Permission deniedが出た。

$ansible all -i inventory -m ping
host | 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.6.8

対応

パスワードレスsshできるように公開鍵を対象ホストに設置した。
チェックポイント

  • パスワードレスssh接続できるか試す
  • ansible all -i inventory -m pingコマンドを試す

対応後のレスポンスはこうなる。

$ansible all -i inventory -m ping
host | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

AnsibleホストでAnsibleを実行するユーザと、リモートホストで作業するユーザを考慮する。

c.f. https://docs.ansible.com/ansible/latest/user_guide/intro_getting_started.html#id5