私は戯曲を書いた
- host1 で公開鍵を生成する
- コントロール マシンに公開鍵をコピーする
- 公開鍵を 2 番目のホスト、つまり 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"
問題は最後のタスクにあります。つまり、ホスト 1 の公開鍵をホスト 2 にコピーします。それが書かれている方法は、pubキーを再びhost1にコピーします。
代わりに pub キーを host2 にコピーするように Ansible に指示するにはどうすればよいですか? ありがとう