2015-10-11 13 views
12

私は、コントロールマシンにログオンしているアカウント以外のアカウントを使用してサーバーに対してAnsibleプレイブックを実行しようとしています。可能性:ansible_user in inventory vs remote_user in playbook

[srv1] 
192.168.1.146 ansible_connection=ssh ansible_user=user1 

しかしAnsibleは以下のansible-playbook -i inventory playbook.yml -vvvvプリントと呼ばれる:私はInventoryのマニュアルに従ってインベントリファイル内ansible_userを指定しようとした私はにremote_user引数を追加されたために働い何

GATHERING FACTS *************************************************************** 
<192.168.1.146> ESTABLISH CONNECTION FOR USER: techraf 

プレイブック:

- hosts: srv1 
    remote_user: user1 

ここで同じAnsibleコマンドはuser1

GATHERING FACTS *************************************************************** 
<192.168.1.146> ESTABLISH CONNECTION FOR USER: user1 

またansible.cfgremote_user変数を追加することがAnsibleは1ログオンするのではなく、意図したユーザーを使用します。

インベントリファイルにansible_user、プレイブックにremote_userがありますか/ ansible.cfgは異なる目的のためにありますか?

ansible_userとは何ですか?または、なぜAnsibleがインベントリの設定を観察しないのですか?

答えて

11

一般的な問題が発生している可能性があります。公開されているドキュメントは開発版(現在は2.0)用であり、古いものは保存しないでください。これは大きな論点です... 2.0より前のものを使用していると仮定すると、必要なインベントリの名前はansible_ssh_userです。 ansible_userは2.0で動作します(ansible_ssh_user - エイリアスが入ります)。

remote_user = MY_REMOTE_USERNAME 

各ホストエントリのインベントリファイルにansible_userを設定する必要はありません。この方法は次のとおり

+2

'ansible_user 'を' ansible_ssh_user'に変更することは、1.9.4で不可解なことをしてくれました。 –

0

は、私は通常/etc/ansible/ansible.cfgで私のリモートユーザ名を追加します。