复制SSH密钥的Ansible任务

复制SSH密钥的Ansible任务,ansible,Ansible,我有一个包含6个节点的Cassandra群集,下面是我的Ansible清单文件: [cassandra] cassandra-01 ansible_host=192.168.2.10 cassandra-02 ansible_host=192.168.2.11 cassandra-03 ansible_host=192.168.2.12 cassandra-04 ansible_host=192.168.2.13 cassandra-05 ansible_host=192.168.2.14 c

我有一个包含6个节点的Cassandra群集,下面是我的Ansible清单文件:

[cassandra]
cassandra-01 ansible_host=192.168.2.10
cassandra-02 ansible_host=192.168.2.11
cassandra-03 ansible_host=192.168.2.12 
cassandra-04 ansible_host=192.168.2.13
cassandra-05 ansible_host=192.168.2.14
cassandra-06 ansible_host=192.168.2.15
我想将SSH密钥从
cassandra-01
复制到集群中的所有节点,我想使用Ansible任务完成这项工作

实现这一点的最佳幂等方法是什么


另外,我在Github上发现了这个模块,它是否可以工作?

因为我过去有类似的要求,我发现以下方法可以工作

- name: Copy SSH key from node 01 to all others
  synchronize:
    src: "/tmp/ssh.key"
    dest: "/tmp/ssh.key"
    mode: push
  delegate_to: cassandra-01
  check_mode: no
  when: ( ansible_host != "cassandra-01" )
  tags: distribute_keys
主要是

  • 使用模块 ,一个
    rsync
    包装器
  • 仅允许任务在成员服务器上运行(
    当“cassandra-01”不在ansible_主机中时
  • 将任务委派给主节点
  • 从主节点推送到成员节点

关于您所问的模块,根据文档,似乎是“授权远程系统进行无密码SSH身份验证”。所以不完全是您在您的问题中想要的。对不起,我的意思是我想对ssh副本id进行类比