20.5. 使用 Secure Root 用户访问权限
overcloud 镜像自动包含 root
用户的强化安全性。例如,每个部署的 overcloud 节点都会自动禁用对 root
用户的直接 SSH 访问。您仍然可以通过以下方法访问 overcloud 节点上的 root
用户:
-
登录 undercloud 节点的
stack
用户。 -
每个 overcloud 节点都有一个
heat-admin
用户帐户。此用户帐户包含 undercloud 的公共 SSH 密钥,它在没有从 undercloud 到 overcloud 节点的密码的情况下提供 SSH 访问。在 undercloud 节点上,使用heat-admin
用户通过 SSH 登录选定的 overcloud 节点。 -
使用
sudo -i
切换到root
用户。
减少根用户安全性
有些情况可能需要直接 SSH 访问 root
用户。在这种情况下,您可以减少每个 overcloud 节点的 root
用户的 SSH 限制。
警告
此方法仅用于调试目的。不建议在生产环境中使用。
该方法使用第一个引导配置 hook (请参阅 第 4.1 节 “首次启动:自定义第一个引导配置”)。将以下内容放在环境文件中:
resource_registry: OS::TripleO::NodeUserData: /usr/share/openstack-tripleo-heat-templates/firstboot/userdata_root_password.yaml parameter_defaults: NodeRootPassword: "p@55w0rd!"
注意以下几点:
-
OS::TripleO::NodeUserData
资源引用在首次引导cloud-init
阶段期间配置root
用户的模板。 -
NodeRootPassword
参数设置root
用户的密码。将此参数的值更改为您所需的密码。请注意,环境文件以纯文本字符串形式包含密码,这被视为安全风险。
在创建 overcloud 时,请使用 openstack overcloud deploy
命令包含此环境文件。