13.3. OpenStack 環境での SSH キーの更新
また、以下を行う際に SSH キーが 2048 ビット未満である場合は、SSH キーを更新する必要があります。
- RHOSP 16.2 から 17.1 へのアップグレード中に、Red Hat OpenStack Platform (RHOSP) クラスターを RHEL 9.2 にアップグレードする場合
- RHOSP 17.0 または 17.1 のマイナーリリースから最新の RHOSP 17.1 マイナーリリースへ更新する場合
SSH キーをローテーションするプロセスを安全に自動化するために、ssh_key_rotation.yaml
Ansible Playbook を実行します。オーバークラウドでは、バックアップキーが次のディレクトリーに保存されます。
/home/{{ ansible_user_id }}/backup_keys/{{ ansible_date_time.epoch }}/authorized_keys"
前提条件
- 完全にインストールされた RHOSP 環境がある。
手順
RHOSP director にログインします。
ssh stack@director
ansible-playbook
ssh_key_rotation.yaml
を実行します。$ ansible-playbook \ -i /home/stack/overcloud-deploy/<stack_name>/tripleo-ansible-inventory.yaml \ 1 -e undercloud_backup_folder=/home/stack/overcloud_backup_keys \ 2 -e stack_name=<stack_name> \ 3 /usr/share/ansible/tripleo-playbooks/ssh_key_rotation.yaml
- 1
<stack_name>
は、オーバークラウドスタックの名前に置き換えます。- 2
stack
ホームディレクトリー内に任意のバックアップディレクトリーを指定します。- 3
- SSH キーのパスが含まれるファイルを見つけます。Playbook が SSH キーを見つけられない場合は、<
stack
_name> パラメーターを設定せ ず にkeys_folder
とkeys_name
パラメーターを設定して SSH キーの場所を指定できます。たとえば、SSH キーの場所が/home/stack/.ssh/id_rsa
の場合は、以下の値を設定します。-
keys_folder=/home/stack/.ssh
keys_name=id_rsa
注記単一セルのデプロイメントの場合、この手順はこれで完了です。複数のセルがある場合は、続行する必要があります。
-
追加のセルごとに Playbook を再実行します。
ansible-playbook \ -i /home/stack/overcloud-deploy/<stack_name>/tripleo-ansible-inventory.yaml \ 1 -e stack_name=<stack_name> \ 2 -e rotate_undercloud_key=false \ 3 -e ansible_ssh_private_key_file=/home/stack/overcloud_backup_keys/id_rsa 4 tripleo-ansible/playbooks/ssh_key_rotation.yaml
- 1
<stack_name>
は、セルのスタック名に置き換えます。各セルには異なる名前が付いています。- 2
- SSH キーのパスが含まれるファイルを見つけます。Playbook が SSH キーを見つけられない場合は、<
stack
_name> パラメーターを設定せ ず にkeys_folder
とkeys_name
パラメーターを設定して SSH キーの場所を指定できます。たとえば、SSH キーの場所が/home/stack/.ssh/id_rsa
の場合は、以下の値を設定します。-
keys_folder=/home/stack/.ssh
-
keys_name=id_rsa
-
- 3
rotate_undercloud_key
パラメーターをfalse
に設定して、アンダークラウドキーがローテーション されない ようにする必要があります。- 4
- 古い SSH キーがローテーションされた後、他のセルの Compute ホストに対して認証できるように、SSH バックアップキーを参照します。