Ansible同期 - 別のリモートユーザーを使用してジョブを実行する

Ansible同期 - 別のリモートユーザーを使用してジョブを実行する

もしこの内容がどこかウェブサイトに記録されている場合は、事前にお詫び申し上げます。解決策が見つからないので、こちらにお問い合わせください。

Ansibleの同期モジュールを使用して、次のようにリモートホストからファイルをインポートしようとしています。

- hosts: Server.A
  gather_facts: no
  tasks:
    synchronize:
      mode: pull
      src: "file/to/pull"
      dest: "path/to/destination"
    delegate_to: NAS

つまり、NASホストはSSHを介してServer.Aに接続し、アップロードしたいファイルをインポートしたいと思います。

問題は、NASにデフォルト以外のユーザー(管理者)があることです。

マニフェストファイルを使用してNASの管理者を設定し、NASと正常に通信できます。

ただし、ジョブを実行すると、synchronize存在しない管理ユーザーを使用してソースサーバー(Server.A)にログインしようとし、失敗します。

プレイブック、ホストファイル、およびホスト_varsでremote_userモジュール設定becomeを変更してみましたが、set_remote_userうまく機能しなかったため、非常に混乱していました。

synchronizeローカルユーザー以外のリモートユーザーでコマンドを実行するにはどうすればよいですか?

ありがとうございます!

ベストアンサー1

からansible-doc synchronize

同期されたユーザーと権限は、srcローカルホストでAnsibleジョブを実行しているユーザー(またはDelegate_toを使用している場合はDelegate_toホストのリモートユーザー)のユーザーと権限です。

同期されたユーザーと権限は、ターゲットdestホストにあるか有効になっている場合です。remote_userbecome_userbecome=yes

おすすめ記事