You can use the cephadm-distribute-ssh-key.yml playbook to distribute
the SSH keys instead of creating and distributing the keys manually.
Before you begin
- Ansible is installed on the administration node.
- Access to the Ansible administration node.
- Ansible user with sudo access to all nodes in the storage cluster.
- Bootstrapping is completed. See Bootstrapping a new storage cluster for more details.
About this task
The playbook distributes an SSH public key over all hosts in the inventory. You can also
generate an SSH key pair on the Ansible administration node and distribute the public key to each
node in the storage cluster so that Ansible can access the nodes without being prompted for a
password.
Procedure
- Navigate to the
/usr/share/cephadm-ansible directory on the Ansible
administration node.
[ansible@admin ~]$ cd /usr/share/cephadm-ansible
- From the Ansible administration node, distribute the SSH keys. The optional
cephadm_pubkey_path parameter is the full path name of the SSH public key file on
the ansible controller host.
Note:
If cephadm_pubkey_path is not specified, the playbook gets the key from the
cephadm get-pub-key command. This implies that you have at least bootstrapped a
minimal cluster.
ansible-playbook -i INVENTORY_HOST_FILE cephadm-distribute-ssh-key.yml -e cephadm_ssh_user=USER_NAME -e cephadm_pubkey_path= home/cephadm/ceph.key -e admin_node=ADMIN_NODE_NAME_1
[ansible@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-distribute-ssh-key.yml -e cephadm_ssh_user=ceph-admin -e cephadm_pubkey_path=/home/cephadm/ceph.key -e admin_node=host01
[ansible@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-distribute-ssh-key.yml -e cephadm_ssh_user=ceph-admin -e admin_node=host01