Ansible実行時の権限について

投稿者: | 2016年9月16日

Ansibleのコマンド実行時に下記のよにエラーが発生しました。

$ ansible-playbook -i inventory/hosts operation.yml -D
PLAY [targets] *****************************************************************
TASK [setup] *******************************************************************
fatal: [Host]: UNREACHABLE! => {"changed": false, "msg": "SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh", "unreachable": true}
        to retry, use: --limit @operation.retry
PLAY RECAP *********************************************************************
Host                     : ok=0    changed=0    unreachable=1    failed=0

エラーの内容を見ての通り、SSHの接続エラーです。
原因はrootユーザーでSSHに接続しようとしたからです。
playbookのホスト・ユーザー指定は下記のように記述しておりました。

- hosts: targets
  user: root

これを下記のように記述することでエラーは解消されました。
– hosts: targets
user: ec2-user
become: yes
SSHの接続はec2-userで行い、コマンドはrootで指定するように指定しております。
この記述方法はバージョン1.9以降のものになります。
それ以前のバージョンは「become」でなく「sudo」を使用するようです。
playbookの権限とバージョンについてはこちらを参考にしました。
http://qiita.com/imoyoukan/items/12832aecd956d14b03f5

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA