CentOS で sudo yes でエラー
メモ。
Ansible で CentOS6.4 に対して以下のコマンドを実行しても転送されない。
hosts/development
[development] 192.168.1.10
$ ansible-playbook -i hosts/development site.yml -k -c paramiko PLAY [development] ************************************************************ GATHERING FACTS *************************************************************** <192.168.1.10> REMOTE_MODULE setup
これでタイムアウト。
サーバー側に /var/log/secure を見ると、sftp を使おうとしてる。
というわけで、
ansible.cfg scp_if_ssh = True と transport = ssh を追加。
[ssh_connection] ssh_args = -o ForwardAgent=yes scp_if_ssh = True [defaults] host_key_checking = False transport = ssh
$ ansible-playbook -i hosts/development site.yml -k -c ssh -vv PLAY [development] ************************************************************ GATHERING FACTS *************************************************************** <192.168.1.10> ESTABLISH CONNECTION FOR USER: ansible_user <192.168.1.10> REMOTE_MODULE setup <192.168.1.10> EXEC ['ssh', .....
接続は確立されたけど、今度は sudo が正しく動作してないよう。
Ansible 1.2.2 hangs on playbook with sudo: yes · Issue #3881 · ansible/ansible · GitHub
--ask-sudo-pass
を付けろと。
というわけで、最終的に以下のコマンドで正しく動作した。
$ ansible-playbook -i hosts/development site.yml -k -c ssh -vv --ask-sudo-pass