13.3. OpenStack 環境での SSH キーの更新
以下のシナリオでは、SSH 鍵が 2048 ビット未満の場合は更新する必要があります。
- 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 を実行します。
この Ansible Playbook を設計すると、以前の SSH キーが削除されないため、新しい SSH キーが正常に動作していることを確認できます。ローテーションが発生した後に、以前の SSH 鍵を手動で削除する必要があります。
オーバークラウドでは、バックアップキーが次のディレクトリーに保存されます。
/home/{{ ansible_user_id }}/backup_keys/{{ ansible_date_time.epoch }}/authorized_keys"
前提条件
- 完全にインストールされた RHOSP 環境がある。
手順
RHOSP director にログインします。
ssh stack@director
$ ssh stack@directorCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook
ssh_key_rotation.yamlを実行します。ansible-playbook \ -i /home/stack/overcloud-deploy/<stack_name>/tripleo-ansible-inventory.yaml \ -e undercloud_backup_folder=<full_backup_path> \ -e stack_name=<stack_name> \ /usr/share/ansible/tripleo-playbooks/ssh_key_rotation.yaml
$ ansible-playbook \ -i /home/stack/overcloud-deploy/<stack_name>/tripleo-ansible-inventory.yaml \ -e undercloud_backup_folder=<full_backup_path> \ -e stack_name=<stack_name> \ /usr/share/ansible/tripleo-playbooks/ssh_key_rotation.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
<stack_name>は、オーバークラウドスタックの名前に置き換えます。デフォルトの名前はovercloudです。 &
lt;full_backup_path> をスタックホームディレクトリー内の任意のディレクトリーへの完全パスまたは絶対パスに置き換えます。たとえば、/home/stack/overcloud_backup_keysです。注記Playbook が SSH キーを見つけられない場合は、Ansible Playbook が機能させるキーの場所を指定する必要があります。パスに複数のキーがある場合は、正しいキーが誤って上書きされないように、キーの場所を設定 する必要 があります。
<
stack_name> パラメーターを設定せ ず に、key_folderおよびkeys_nameパラメーターを設定し、SSH キーの場所を指定できます。たとえば、SSH キーの場所が/home/stack/.ssh/id_rsaの場合は、次の値を設定します:*keys_folder=/home/stack/.ssh*keys_name=id_rsa
-
オプション:環境内に複数のセルがある場合は、追加するセルごとに Playbook を再実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<stack_name>は、セルのスタック名に置き換えます。各セルには異なる名前が付いています。 -
rotate_undercloud_keyパラメーターをfalseに設定して、アンダークラウドキーがローテーション されない ようにする必要があります。 -
ansible_ssh_private_key_fileパラメーターを使用して、SSH バックアップキーを指定します。これにより、古い SSH キーがローテーションされた後に、他のセルのコンピュートホストに認証できるようになります。
-
オプション:SSH 鍵を
${HOME}/.sshディレクトリーにコピーして、オーバークラウドノードに接続するたびに the-iオプションを使用して SSH キーを指定しないようにすることができます。このアクションにより、このディレクトリーのid_rsaキーおよびid_rsa.pubキーが上書きされます。これらのキーを他の目的で使用する場合は、このアクションを実行する前に移動またはバックアップします。cp /home/stack/overcloud-deploy/overcloud/<private_key> ~/.ssh/id_rsa cp /home/stack/overcloud-deploy/overcloud/<public_key> ~/.ssh/id_rsa.pub
$ cp /home/stack/overcloud-deploy/overcloud/<private_key> ~/.ssh/id_rsa $ cp /home/stack/overcloud-deploy/overcloud/<public_key> ~/.ssh/id_rsa.pubCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
&
lt;private_key> を SSH 秘密鍵のファイル名に置き換えます。 -
&
lt;public_key> を公開 SSH キーのファイル名に置き換えます。
-
&
- 新しい SSH キーが適切に機能していることを確認します。その場合、以前の SSH 鍵を手動で削除してください。