如何通过ansible剧本将文件从控制器节点的/ root复制到远程主机的/ root

时间:2019-12-09 14:15:01

标签: ansible root ansible-template

我需要将文件从ansible控制节点的/root复制到远程节点的/root

如果我将文件保留在控制节点的任何其他位置(例如/ tmp),并且能够将其复制到远程节点的/ root(因为我提到在ansible.cfg中),我就可以复制该文件

但是如何将文件从ansible控制节点的/ root复制到远程节点的/ root?

它给出错误为

  

'致命:[testserver]:失败! => {“已更改”:false,“ msg”:“在Ansible控制器上找不到或访问'/root/abc.txt''

请注意,文件位于控制器的/ root /中。

谢谢

1 个答案:

答案 0 :(得分:0)

要访问控制器上/root中的文件,您需要...。root在控制器上。但是,以根用户身份在控制器上运行剧本并不是一个好主意。如果您当前的用户在本地主机上具有必要的权限以进行特权升级,则可能是这种情况。

  1. localhost上使用特权提升来复制文件或获取变量中的文件内容。
  2. 将生成的文件或内容复制到目标主机。
  3. 如果您复制了文件,请删除副本。

注意:如果出于隐私/安全原因将文件放在/root中,则更好的选择是将使用ansible-vault加密的文件直接存储在项目中。