[Ansible] パスワードなしで SSH 接続できるサーバには ansible-playbook コマンドの -k, –ask-pass オプションを付けるとエラーになる
- 2016 5/27
- カテゴリー : Configuration Management
- ansible
- コメントを書く
Ansible を使い始めて最初にハマったことは、パスワードなしで SSH 接続できるサーバには ansible-playbook コマンドの -k, –ask-pass オプションを付けるとエラーになるということでした。
ansible-playbook コマンドの help によると -k, –ask-pass は接続時にパスワードを求めるオプションみたいです。
$ ansible-playbook -h Usage: ansible-playbook playbook.yml Options: -k, --ask-pass ask for connection password |
以下、エラー時の実行結果です。
$ ansible-playbook -k -c paramiko -i hosts init.yml -vvv --extra-vars "user_password=$user_password" No config file found; using defaults SSH password: PLAYBOOK: init.yml ****************************************************** 1 plays in init.yml PLAY [setting SakuraServer VPS by root] **************************************** TASK [setup] ******************************************************************* <128.199.213.164> ESTABLISH CONNECTION FOR USER: root on PORT 22 TO 128.199.213.164 paramiko: The authenticity of host '128.199.213.164' can't be established. The ssh-rsa key fingerprint is 99a7fb117513602f560568e9d6daaa72. Are you sure you want to continue connecting (yes/no)? yes fatal: [128.199.213.164]: UNREACHABLE! => {"changed": false, "msg": "Authentication failed.", "unreachable": true} to retry, use: --limit @init.retry PLAY RECAP ********************************************************************* 128.199.213.164 : ok=0 changed=0 unreachable=1 failed=0 |
公開鍵認証による SSH 接続設定をしていて、ログインパスワードが不要な場合は -k, –ask-pass オプションを付けると下記のように The authenticity of host ‘128.199.213.164’ can’t be established. というエラーが発生してしまいます。
$ ansible-playbook -h Usage: ansible-playbook playbook.yml Options: -k, --ask-pass ask for connection password |
-k オプションを付けずに ansible-playbook コマンドを実行すると正常に実行できました。
$ ansible-playbook -c paramiko -i hosts init.yml -vvv |
以上です。