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_key_rotation.yaml Ansible Playbook,以安全地自动轮转 SSH 密钥。

重要

按照设计此 Ansible Playbook 不会删除以前的 SSH 密钥,以便您可以验证新的 SSH 密钥是否正常工作。在轮转发生后,您必须手动删除之前的 SSH 密钥。

在 overcloud 上,备份密钥存储在以下目录中:

/home/{{ ansible_user_id }}/backup_keys/{{ ansible_date_time.epoch }}/authorized_keys"

先决条件

  • 您有一个完全安装的 RHOSP 环境。

流程

  1. 登录到 RHOSP director:

    $ ssh stack@director
  2. 运行 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
    • <stack_name > 替换为 overcloud 堆栈的名称。默认名称为 overcloud
    • 将 < full_backup_path > 替换为 堆栈 主目录中您选择的目录的完整路径。例如,/home/stack/overcloud_backup_keys

      注意

      如果 playbook 无法找到 SSH 密钥,您必须指定 Ansible playbook 才能工作的密钥位置。如果您在路径中有多个密钥,您必须设置 密钥位置,以避免意外覆盖正确的键。

      您可以通过设置 keys_folderkeys_name 参数来指定 SSH 密钥位置,而不 设置 < stack_name> 参数。例如,如果 SSH 密钥位置是 /home/stack/.ssh/id_rsa,请设置以下值:* keys_folder=/home/stack/.ssh * keys_name=id_rsa

  3. 可选:如果您的环境中有多个单元,请为您拥有的每个额外单元重新运行 playbook:

    $ ansible-playbook \
    -i /home/stack/overcloud-deploy/<stack_name>/tripleo-ansible-inventory.yaml \
    -e stack_name=<stack_name> \
    -e rotate_undercloud_key=false \
    -e ansible_ssh_private_key_file=/home/stack/overcloud_backup_keys/id_rsa
    tripleo-ansible/playbooks/ssh_key_rotation.yaml
    • <stack_name > 替换为单元的堆栈名称。每个单元都有不同的名称。
    • 您必须通过将 rotate_undercloud_key 参数设置为 false 来确保 undercloud 密钥 不会被 轮转。
    • 使用 ansible_ssh_private_key_file 参数指向您的 SSH 备份密钥。这样可确保您可以在轮转旧的 SSH 密钥后,对其他单元中的 Compute 主机进行身份验证。
  4. 可选: 您可以将 SSH 密钥复制到 ${HOME}/.ssh 目录中,以避免在每次连接到 overcloud 节点时使用 a -i 选项指定 SSH 密钥。此操作将覆盖此目录中的 id_rsaid_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
    • <private_key > 替换为私有 SSH 密钥的文件名。
    • <public_key > 替换为公共 SSH 密钥的文件名。
  5. 验证新 SSH 密钥是否正常工作,如果是,请手动删除您之前的 SSH 密钥。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部