操作场景
当您需要对多台Linux系统的云主机批量更新一键式重置密码插件时,可参考本文档操作。
前提条件
- 登录已准备好的执行机,执行机需满足的条件请参见下文约束与限制。
- 需要提前准备待批量安装插件的云主机的IP地址、root用户的密码信息或者私钥文件。
- 执行机应该与待更新机器在同一VPC下。
- 在执行完步骤7之后可以解绑eip。
约束与限制
- 需要选取一台操作系统为CentOS 7(公共镜像)且已绑定弹性公网IP的云主机作为执行机,且与待批量安装插件的弹性云主机之间网络需要互通。
- 仅支持对使用同一密钥对的云主机执行批量安装插件的操作。
操作步骤
1.根据以下地址获取ansible.tar.gz压缩包,并上传到执行机。
https://pwd.obs.cn-jssz1.ctyun.cn/linux/ansible.tar.gz
以root用户登录执行机。
依次执行以下命令安装ansible。(实际安装路径用户可自定义,此处以/root/ansible为示例。)
mkdir /root/ansible
tar zxvf ansible.tar.gz -C /root/ansible
cd /root/ansible
yum localinstall *.rpm
执行以下命令检测是否安装成功。
ansible --version
2.请参考获取并校验一键式重置密码插件完整性(Linux),下载对应的一键式重置密码插件CloudResetPwdAgent.zip并完成完整性校验。
安装一键式重置密码插件对插件的具体放置目录无特殊要求,请您自定义。
3.执行以下命令,将批量操作脚本下载到root目录下。
curl URL >~/batch_update_log4j_version.py
其中,URL为批量操作的执行脚本。
脚本下载地址:
https://pwd.obs.cn-jssz1.ctyun.cn/linux/batch_update_resetpwd/batch_update_log4j_version.py
4.执行以下命令,将更新插件脚本下载到root目录下。
curl URL >~/update_log4j_version_for_resetpwdagent.sh
其中,URL为更新插件脚本的下载地址。
脚本下载地址:
https://pwd.obs.cn-jssz1.ctyun.cn/linux/batch_update_resetpwd/update_log4j_version_for_resetpwdagent.sh
5.检查如下脚本是否在root目录下:
batch_update_log4j_version.py
update_log4j_version_for_resetpwdagent.sh
CloudResetPwdAgent.zip
6.执行以下命令,新建并编辑host_list.txt,按i进入编辑模式。
vi host_list.txt
将需要自动安装驱动的云主机的相关信息填写到host_list.txt文件中。
示例:
[x86_64]
182.168.64.21
182.168.64.22
文件填写格式与登录待切换弹性云主机的方式需要匹配。
使用密钥对方式鉴权的云主机,填写方式如下:
说明
使用密钥对方式鉴权的云主机,请将创建弹性云主机时保存的私钥文件,上传至与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,'**********'
7.运行批量执行操作脚本“batch_update_log4j_version.py”。
密钥对鉴权方式的服务器
如果私钥文件与批量操作执行脚本在一个目录下,则直接指定私钥文件名称即可。
python batch_update_log4j_version.py {私钥文件路径/私钥文件名称}
图 运行脚本
密码方式鉴权的服务器。
python batch_update_log4j_version.py
图 运行脚本
8.执行如下命令,在“/root/logs/exec_origin.log”的最后一行查看运行结果日志。
vim /root/logs/exec_origin.log
若如下图所示,则表示运行成功。
图 运行成功