これが私が取り組んでいる問題です。
私は ansible サーバーを持っています 私は別のサーバーを持っています M 私は他のサーバー B1、B2、B3 を持っています... すべて ansible によって認識されています
このようなホストファイルがあります
[CTRL]
M
[SLAVES]
B1
B2
B3
マスター (ansible 自体ではない) で ssh キーを生成し、それを他のスレーブ サーバーにデプロイして、マスターがキーによってスレーブに接続できるようにしたいと考えています。
これが私が試したものです:
- hosts: CTRL
remote_user: root
vars_prompt:
- name: ssh_password
prompt : Please enter password for ssh key copy on remote nodes
private: yes
tasks:
- yum: name=sshpass state=present
sudo: yes
- name: generate ssh key on the controller
shell : ssh-keygen -b 2048 -t rsa -f /root/.ssh/id_rsa -q -N /dev/null
- name: copy ssh key to the other nodes
shell : sshpass -p '{{ ssh_password }}' ssh-copy-id root@'{{ item }}'
with_items: groups['SLAVES']
delegate_to: "{{ groups['CTRL'][0] }}"
キー生成は機能しますが、どのように作業しても、キーをスレーブ ホストにコピーする際に問題が発生します
failed: [M -> M] => (item=B1) => {"changed": true, "cmd": "sshpass -p 'mypassword' ssh-copy-id root@'B1'", "delta": "0:00:00.101102", "end": "2016-07-18 11:08:56.985623", "item": "B1", "rc": 6, "start": "2016-07-18 11:08:56.884521", "warnings": []}
failed: [M -> M] => (item=B2) => {"changed": true, "cmd": "sshpass -p 'mypassword' ssh-copy-id root@'B2'", "delta": "0:00:00.101102", "end": "2016-07-18 11:08:56.985623", "item": "B1", "rc": 6, "start": "2016-07-18 11:08:56.884521", "warnings": []}
failed: [M -> M] => (item=B3) => {"changed": true, "cmd": "sshpass -p 'mypassword' ssh-copy-id root@'B3'", "delta": "0:00:00.101102", "end": "2016-07-18 11:08:56.985623", "item": "B1", "rc": 6, "start": "2016-07-18 11:08:56.884521", "warnings": []}
私のコードを修正する方法を知っていますか、それとも私がやりたいことを行うためのより簡単な方法がありますか?
ありがとうございました。