You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible Tower跨主机拷贝文件 双端凭证不同任务失败问题咨询

Ansible Tower跨主机双凭证文件拷贝解决方案

问题场景

使用Ansible Tower执行跨机器文件拷贝任务时,源主机MachineA与目标主机MachineB使用独立的SSH访问凭证,Tower单任务默认无法同时绑定两套主机凭证,导致原synchronize任务执行失败,原playbook配置如下:

- name: copy file from A to B
  synchronize:
    src: /tmp/file.txt
    dest: /tmp_folder/
    mode: push
  delegate_to: machineA

可行解决方法

  • 中转拷贝法(最适配Tower原生逻辑,无额外主机配置)
    拆分拷贝动作为两个独立步骤,利用Tower执行节点作为中转:
    1. 任务第一阶段绑定MachineA的访问凭证,将MachineA上的/tmp/file.txt通过fetch模块拉取到Tower执行节点的临时目录
    2. 任务第二阶段绑定MachineB的访问凭证,将执行节点临时目录内的文件通过copy模块推送到MachineB的/tmp_folder/路径
    3. 可选增加清理步骤,删除执行节点上的临时中转文件
      参考playbook片段:
    - name: pull source file from MachineA to Tower temp dir
      fetch:
        src: /tmp/file.txt
        dest: /tmp/ansible_transfer_cache/
        flat: yes
      hosts: machineA
    
    - name: push cached file to MachineB target path
      copy:
        src: /tmp/ansible_transfer_cache/file.txt
        dest: /tmp_folder/
      hosts: machineB
    
    - name: clean temp transfer file on Tower
      file:
        path: /tmp/ansible_transfer_cache/file.txt
        state: absent
      run_once: yes
      delegate_to: localhost
    
  • 源主机免密授权法(原playbook无需改动)
    提前配置MachineA到MachineB的SSH免密信任:在MachineA上生成SSH密钥对,将公钥写入MachineB对应用户的~/.ssh/authorized_keys列表,保证MachineA上的执行用户可以直接免密连接MachineB。配置完成后Tower侧只需要给任务绑定MachineA的访问凭证,原有delegate_to逻辑的synchronize任务即可正常执行,不需要额外传参。
  • 显式传参注入凭证法(保留synchronize增量同步特性)
    在Tower中创建自定义凭证类型,将MachineB的SSH私钥、连接用户名配置为敏感加密变量,任务执行时将凭证动态注入到MachineA的临时路径下,再通过synchronize模块的rsync_opts参数指定SSH认证信息完成跨机拷贝。参考配置片段:
    - name: sync file from A to B with injected credential
      synchronize:
        src: /tmp/file.txt
        dest: /tmp_folder/
        mode: push
        rsync_opts:
          - "-e 'ssh -i {{ temp_machineb_key_path }} -o StrictHostKeyChecking=no'"
      delegate_to: machineA
    
    注意:临时注入到MachineA的私钥需要在任务结束后自动删除,避免凭证残留。

内容的提问来源于stack exchange,提问作者raquel666

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 00:21:31