管理 HPC Pack 的 Linux 身份验证密钥
重要
若要解决 CVE-2025-21198 严重漏洞,所有 HPC Pack 2016 群集和 HPC Pack 2019 Update 2 及更早的群集必须立即应用以下步骤,在所有头节点和所有 Linux 计算节点上设置 Linux 身份验证密钥。 此 包括任何没有任何 Linux 计算节点的群集。 在 Windows 上独占的群集仍需在所有头节点上设置 Linux 身份验证密钥。
此外,任何新安装的 HPC Pack 2016 群集和 HPC Pack 2019 Update 2 及更早的群集都必须立即应用以下步骤,在安装后立即在头节点上和 Linux 计算节点上设置 Linux 身份验证密钥。 这包括通过安装程序部署的群集,以及通过 ARM 模板部署的群集。
HPC Pack 2019 Update 3 及更高版本群集(无论是通过安装程序或 ARM 模板部署的),都会在安装过程中默认设置或生成 Linux 身份验证密钥,因此不需要以下修复步骤。
Linux 身份验证密钥是 HPC Pack 头节点与 HPC Pack Linux 计算节点之间的预共享密钥,用于保护头节点与计算节点之间的通信。 它是一个密码字符串,长度可以是任意长度,包含字母数字字符或 -
、.
、_
、~
、+
、/
和 =
符号。
Linux 身份验证密钥设置在头节点和每个 Linux 计算节点上单独维护,同一群集中的每个节点都需要将 Linux 身份验证密钥设置为相同的值。
管理头节点上的 Linux 身份验证密钥
注意
authenticationKey
的 参数不适用于已部署的 HPC Pack 2 或更早版本的群集的头节点,但无论群集版本如何,都将应用于所有已部署的 Linux 计算节点。 用户必须立即在通过 ARM 模板部署的 HPC Pack 2019 Update 2 或更早群集的头节点上手动设置 Linux 身份验证密钥。
在 HPC Pack 群集的每个头节点上,使用相同的 参数运行 AuthenticationKey
来设置或更新头节点的 Linux 身份验证密钥。 此脚本将设置群集注册表设置,并根据需要更新 Azure IaaS Linux 节点的内置 ARM 模板,以便进行预共享密钥传播。
如果发现自己需要返回到旧的(不安全)行为进行故障排除,请删除 [ValidateNotNullOrEmpty()]
参数的 AuthenticationKey
属性,然后使用空字符串 AuthenticationKey
参数运行脚本。
如果已设置 Linux 身份验证密钥,请运行以下 PowerShell 命令来检索当前设置的 Linux 身份验证密钥:
Get-HpcClusterRegistry -PropertyName ClusterAuthenticationKey
在 Linux 计算节点上管理 Linux 身份验证密钥
注意
HPC Pack 2019 Update 2 和早期群集针对本地 Linux 节点安装的 setup.py
脚本不接受 authenticationKey
参数。 用户需要 更新 其 setup.py
脚本来执行本地 Linux 计算节点安装 。
编辑 Linux 节点代理的配置文件,即 /opt/hpcnodemanager/nodemanager.json
并添加或更新 ClusterAuthenticationKey
选项作为群集的 Linux 身份验证密钥,与头节点上设置的密钥相同。 例如,可以使用以下命令行更改配置:
# back up the confiugration
cp /opt/hpcnodemanager/nodemanager.json /opt/hpcnodemanager/nodemanager_backup.json
jq '. + {ClusterAuthenticationKey: "your_value_here"}' /opt/hpcnodemanager/nodemanager.json > /opt/hpcnodemanager/nodemanager_updated.json
cat /opt/hpcnodemanager/nodemanager_updated.json > /opt/hpcnodemanager/nodemanager.json
应用上述更改后,重新启动 Linux 计算节点。