使用SSH密钥将文件从一台远程服务器复制到另一台远程服务器

时间:2020-07-13 07:11:52

标签: ansible

我要复制存储在SERVER-A上的文件。该文件需要复制到SERVER-B。

我当前正在使用它。...但是它花费了很长时间,并且无法正常工作(?)

有更好的解决方法吗?

主要事实:

a)我需要SSH密钥进行复制。它称为 my-key ,我将其传递给shell命令

b)SERVER-A上的文件位于: /etc/conf/myConf.xml

c)需要将文件复制到SERVER-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

1 个答案:

答案 0 :(得分:1)

只需使用ansible复制模块,整个shell伏都教徒就容易出错。.

https://docs.ansible.com/ansible/latest/modules/copy_module.html

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

- set_fact: ansible_ssh_private_key_file=/path/to/keyfile