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

时间:2017-03-07 08:40:42

标签: ssh ansible ssh-keys ansible-2.x

我想生成所有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密钥并复制到其他节点。

1 个答案:

答案 0 :(得分:0)

  

我知道如何在一个节点上创建ssh密钥并复制到其他节点

无需其他知识:

  1. 在控制计算机上生成所有密钥对,
  2. 将私钥复制到相关节点(设置适当的权限),
  3. 在所有节点上将所有公钥添加到authorized_keys
  4. 从控制计算机中删除私钥。
  5. 除非您认为您的控制计算机受到损害,否则不会增加安全风险。特别是因为最终目标显着降低了安全性。