如何将 ansible 节点 ssh 密钥复制到 Ansible 上的所有节点?

How can copy ansible nodes ssh keys to all nodes on Ansible?

我想生成我所有ansible节点的ssh密钥并在它们之间复制,这样所有节点都可以在它们之间访问。

示例:

[nodes]
172.16.8.231 node1
172.16.8.232 node2
172.16.8.233 node3
172.16.8.234 node4

我想将 node1、node2、node3 和 node4 ssh 密钥复制到所有节点。

因此node1可以访问node2、node3和node4。其余节点也一样。

我使用下一个模块生成 ssh 密钥:

- name: Generate ssh key 
  user:
    name: "{{ user }}"
    generate_ssh_key: yes
    ssh_key_bits: 2048
    ssh_key_file: .ssh/id_rsa

我知道如何在一个节点上创建 ssh 密钥并复制到其他节点,但我想要的是在所有节点上生成 ssh 密钥并复制到其他节点。

I know how to create the ssh key on one node and copy to others

不需要其他知识:

  1. 在控制机器上生成所有密钥对,
  2. 将私钥复制到它们的相关节点(设置适当的权限),
  3. 将所有 public 个键添加到所有节点上的 authorized_keys
  4. 从控制机中删除私钥。

除非您认为您的控制机器受到威胁,否则不会增加安全风险。特别是当最终目标显着降低安全性时。