操作场景
弹性云服务器的离线重置密码功能依赖一键式重置密码插件。当因安全问题,弹性云服务器更新了一键式重置密码插件时,可参考本操作为单台弹性云服务器更新一键式重置密码插件。
一键式重置密码插件的更新情况,请参见一键式重置密码插件漏洞公告。
本文介绍通过脚本为多台Linux ECS批量更新一键式重置密码插件的操作指导。
前提条件
- 准备好执行机,执行机需满足的条件请参见约束与限制。
- 需要提前准备待批量安装插件的云服务器的IP地址、root用户的密码信息或者私钥文件。
- 执行机应该与待更新机器在同一VPC下。
- 在执行完步骤6之后可以解绑eip。
约束与限制
- 需要选取一台操作系统为CentOS 7(公共镜像)且已绑定弹性公网IP的云服务器作为执行机,且与待批量安装插件的弹性云服务器之间网络需要互通。
说明:
若已配置yum内部源,可不需要绑定弹性公网IP。
- 若弹性云服务器的“登录凭证”为“密钥对”时,仅支持对使用同一密钥对的弹性云服务器执行批量安装插件的操作。
操作步骤
- 以root用户登录执行机。
- 执行以下命令,安装批量脚本运行所需要的依赖。
yum install ansible -y
- 请参考获取并校验一键式重置密码插件完整性(Linux),下载对应的一键式重置密码插件CloudResetPwdAgent.zip并完成完整性校验。
安装一键式重置密码插件对插件的具体放置目录无特殊要求,请您自定义。
- 执行以下命令,将批量操作脚本下载到root目录下。
curl URL > ~/batch_update_log4j_version.py
其中,URL为批量操作的执行脚本。
请根据云服务器所在区域选择脚本的下载地址:
- 华北-北京一:https://cn-north-1-cloud-reset-pwd.obs.cn-north-1.myhuaweicloud.com/linux/batch_update_resetpwd/batch_update_log4j_version.py
- 华北-北京四:https://cn-north-4-cloud-reset-pwd.obs.cn-north-4.myhuaweicloud.com/linux/batch_update_resetpwd/batch_update_log4j_version.py
- 华东-上海二:https://cn-east-2-cloud-reset-pwd.obs.cn-east-2.myhuaweicloud.com/linux/batch_update_resetpwd/batch_update_log4j_version.py
- 华南-广州:https://cn-south-1-cloud-reset-pwd.obs.cn-south-1.myhuaweicloud.com/linux/batch_update_resetpwd/batch_update_log4j_version.py
- 中国-香港:https://ap-southeast-1-cloud-reset-pwd.obs.ap-southeast-1.myhuaweicloud.com/linux/batch_update_resetpwd/batch_update_log4j_version.py
- 亚太-曼谷:https://ap-southeast-2-cloud-reset-pwd.obs.ap-southeast-2.myhuaweicloud.com/linux/batch_update_resetpwd/batch_update_log4j_version.py
- 执行以下命令,将更新插件脚本下载到root目录下。
curl URL > ~/update_log4j_version_for_resetpwdagent.sh
其中,URL为更新插件脚本的下载地址。
请根据云服务器所在区域选择脚本的下载地址:
- 华北-北京一:https://cn-north-1-cloud-reset-pwd.obs.cn-north-1.myhuaweicloud.com/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh
- 华北-北京四:https://cn-north-4-cloud-reset-pwd.obs.cn-north-4.myhuaweicloud.com/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh
- 华东-上海二:https://cn-east-2-cloud-reset-pwd.obs.cn-east-2.myhuaweicloud.com/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh
- 华南-广州:https://cn-south-1-cloud-reset-pwd.obs.cn-south-1.myhuaweicloud.com/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh
- 中国-香港:https://ap-southeast-1-cloud-reset-pwd.obs.ap-southeast-1.myhuaweicloud.com/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh
- 亚太-曼谷:https://ap-southeast-2-cloud-reset-pwd.obs.ap-southeast-2.myhuaweicloud.com/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh
- 检查如下脚本是否在root目录下:
- batch_update_log4j_version.py
- update_log4j_version_for_resetpwdagent.sh
- CloudResetPwdAgent.zip
- 执行以下命令,新建并编辑host_list.txt,按i进入编辑模式。
vi host_list.txt
将需要自动安装驱动的云服务器的相关信息填写到host_list.txt文件中。
文件填写格式与登录待切换弹性云服务器的方式需要匹配。
- 使用密钥对方式鉴权的云服务器,填写方式如下:
注意:
- 使用密钥对方式鉴权的云服务器,请将创建弹性云服务器时保存的私钥文件,上传至与host_list.txt同一个文件夹下。
- 使用密钥对方式鉴权的云服务器,请确保私钥文件的权限为400。
chmod 400 私钥文件
每行仅需填写云服务器IP地址。
示例:
192.168.1.10 192.168.1.11
- 使用密码方式登录的云服务器,填写方式如下:
请严格按照每行ip,root用户密码,中间以英文逗号隔开的格式填写。
示例:
192.168.1.10,'**********' 192.168.1.11,'**********'
- 使用密钥对方式鉴权的云服务器,填写方式如下:
- 运行批量执行操作脚本“batch_update_log4j_version.py”。
- 密钥对鉴权方式的服务器
如果私钥文件与批量操作执行脚本在一个目录下,则直接指定私钥文件名称即可。
python batch_update_log4j_version.py {私钥文件路径/私钥文件名称}图1 运行成功

若如图1所示,则表示脚本运行成功。
- 密码方式鉴权的服务器。
python batch_update_log4j_version.py
图2 运行成功

若如图2所示,则表示脚本运行成功。
- 密钥对鉴权方式的服务器
- 执行如下命令,在“/root/logs/exec_origin.log”的最后一行查看运行结果日志。
vim /root/logs/exec_origin.log
若如图3所示,则表示批量更新一键式重置密码插件成功。
图3 运行结果日志

