使用带有ansible的SSH密钥将文件从一个远程服务器复制到另一个远程服务器

使用带有ansible的SSH密钥将文件从一个远程服务器复制到另一个远程服务器,ansible,Ansible,我要复制存储在服务器a上的文件。此文件需要复制到服务器B 我目前正在使用这个…,但它需要很长时间,而且不起作用(?) 有更好的解决办法吗 关键事实: a) 我需要一个SSH密钥来复制。它被称为my key,我将其传递到shell命令中 b) 服务器A上的文件位于:/etc/conf/myConf.xml c) 需要将文件复制到服务器B的默认位置:/home/ubuntu/conf_dir/ d) ansible脚本从服务器b盒运行 - name: "copy file from

我要复制存储在服务器a上的文件。此文件需要复制到服务器B

我目前正在使用这个…,但它需要很长时间,而且不起作用(?)

有更好的解决办法吗

关键事实:

a) 我需要一个SSH密钥来复制。它被称为my key,我将其传递到shell命令中

b) 服务器A上的文件位于:/etc/conf/myConf.xml

c) 需要将文件复制到服务器B的默认位置:/home/ubuntu/conf_dir/

d) ansible脚本从服务器b盒运行

- name:
    "copy file from server-a to server-b"
  shell: scp -q -o StrictHostKeyChecking=no -i ./my-key ubuntu@10.33.5.44:/etc/conf/myConf.xml /home/ubuntu/conf_dir/
  args:
    executable: /bin/bash
  become_user: ubuntu

只需使用ansible复制模块,整个shell巫毒很容易出错

您可以为此特定任务设置自定义ssh密钥。请注意,这只会更改当前运行主机的ssh私钥文件

- set_fact: ansible_ssh_private_key_file=/path/to/keyfile

如何在复制模块中使用SSH密钥?不确定是什么原因需要使用额外的SSH密钥,但如果您坚持这样做,您可以使用主机变量在playbook级别设置密钥文件。vars:ansible_ssh_private_key_文件:“{{key1}}”嗯,我不太明白。。。你能用我的上下文举个例子吗?:)
slurp
将文件从A返回到控制器节点并将其复制到B将不是一个选项?