我写了一个剧本
- 在 host1 上生成 pub 密钥
- 复制我的控制机器上的 pub 密钥
- 在第二台主机上部署 pub 密钥,即 host2
- hosts: '{{ target }}'
tasks:
- name: Check admin pub keys are present on host1
stat:
path: /var/services/homes/admin/.ssh/id_rsa.pub
- name: Generate pub keys on host1 if non-existing
user:
name: admin
generate_ssh_key: yes
ssh_key_bits: 4096
when: stat_result.stat.exists == False
- name: Downloading pub key from host1 to the control machine
command: scp admin@{{ansible_host}}:/var/services/homes/admin/.ssh/id_rsa.pub /tmp/
delegate_to: 127.0.0.1
- name: Copy pub key of host1 to host2
authorized_keys:
user: admin
key: "{{ lookup('file', '/tmp/id_rsa.pub') }}"
state: present
我运行它:
ansible-playbook -i hosts keys.yml -e "target=host1"
问题出在最后一个任务中,即将host1 的pub key 复制到host2。它的编写方式会将发布密钥再次复制到主机1。
我如何告诉 Ansible 将 pub 密钥复制到 host2?谢谢