如果这在某处或网站上有记录,我提前表示歉意 - 我找不到解决方案,所以我在这里询问。
我正在尝试使用 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 有一个非默认用户(admin)。
我通过清单文件设置了NAS的管理员用户,并且我可以与NAS正常通信。
但是,当我运行该synchronize
任务时,它尝试使用不存在的管理员用户登录源服务器(Server.A)并失败。
我尝试在剧本、主机文件和 host_vars 中更改remote_user
模块become
的set_remote_user
设置,但我无法让它工作并且发现它非常混乱。
synchronize
我将如何以不同的远程用户而不是本地用户的身份运行该命令?
谢谢!
答案1
从ansible-doc synchronize
:
同步的用户和权限
src
是在本地主机上运行 Ansible 任务的用户的用户和权限(或者当使用 delegate_to 时,为 delegate_to 主机的远程用户)。
同步的用户和权限是目标主机上
dest
的用户和权限,或者如果处于活动状态。remote_user
become_user
become=yes