制御マシンにログオンしているアカウント以外のアカウントを使用して、サーバーに対して Ansible Playbook を実行しようとしています。Inventoryansible_user
のドキュメントに従って、インベントリ ファイルでを指定しようとしました。
[srv1]
192.168.1.146 ansible_connection=ssh ansible_user=user1
ただし、Ansible が呼び出されたansible-playbook -i inventory playbook.yml -vvvv
場合は、次のように出力されます。
GATHERING FACTS ***************************************************************
<192.168.1.146> ESTABLISH CONNECTION FOR USER: techraf
私にとってうまくいったremote_user
のは、プレイブックに引数を追加することでした:
- hosts: srv1
remote_user: user1
これで、同じ Ansible コマンドが次のように接続しuser1
ます。
GATHERING FACTS ***************************************************************
<192.168.1.146> ESTABLISH CONNECTION FOR USER: user1
remote_user
また、変数を追加するとansible.cfg
、Ansible は、ログオンしているユーザーではなく、目的のユーザーを使用します。
ansible_user
インベントリ ファイルとremote_user
Playbook/ansible.cfg
は別の目的で使用されていますか?
は何のためにansible_user
使われますか?または、Ansible がインベントリーの設定を監視しないのはなぜですか?