在IT行业中,服务器安全漏洞每个月周期更新,比如openssh版本更新周期为3个月左右更新一次,官网下载(http://www.openssh.com/releasenotes.html),如果您所管理的服务器成百上千台,如何实现只需一步批量升级所有Linux服务器的Openssh版本?
搭建步骤如下:
(1)基础环境准备
在ansible服务器上安装docker引擎,安装方法网上很多,在这就不赘述了。
① 安装docker引擎,导入ansible镜像包
docker load -i ansibie.tar
② 然后当前用户环境中.bash_profile中添加
alias an='cd /ansible'
alias ansible='docker run -it --rm --name="an" -v /ansible:/etc/ansible -v /root/.ssh:/root/.ssh -- net=host ansible:latest /opt/ansible/ansible/bin/ansible'
然后执行source .bash_profile命令环境变量生效。
③ 批量与相关服务器建立互信
【单个服务器建立服务器】
以root用户,检查是否生成ssh公钥和私钥/root/.ssh/{id_rsa.pub,id_rsa},如不存在执行ssh-keygen -t rsa命令创建;ssh-copy-id -i ~/.ssh/id_rsa.pub root@[IP地址]
【批量建立互信】
④ 验证和测试ansible命令是否正常
[/ansible] :为ansible配置文件目录,建立hosts文件,假如配置如下:
[test]
192.168.1.100
验证测试命令如下:
ansbile test -m ping
ansbile test -m copy -a “src=[src_pakage] dest=[dest_dir]”
如能正常返回结果,表面互信和ansible建立成功。
![](https://img.haomeiwen.com/i10012248/2d922ce8d495b0bd.png)
(2)升级脚本准备
叁肆为大家编写的一键升级脚本:
目前脚本仅支持三个Python版本:2.6.6、2.7.5、2.7.17。其中2.6.6、2.7.5分别是操作系统版本OracleLinux6.[5/8/9]、OracleLinux7.4原生系统自带的版本,如果您的操作系统python版本不属于以上3个版本,请自行编译安装对应的版本或上传叁肆为大家编译安装好的python包(上传即用)。
脚本的帮助界面如下:
![](https://img.haomeiwen.com/i10012248/b5e3b341d52c80b9.png)
使用脚本条件
① 购买获取授权密码的期限如下:
#青铜用户:一天
#白银用户:一个月
#黄金用户:三个月
#铂金用户:六个月
#钻石用户:1年
#超级用户:无限期 {提供源代码}
② 保证ntp配置能正常同步和检查时间差异
查询出来NTP时间源: cat /etc/ntp.conf|grep '^server'|awk '{ print $NF}'
测试:ntpdate -d [NTP时间源]
③ 环境中满足以上已支持的Python版本或上传对应python包
查询当前服务器的python版本:python -V
温馨提示:本篇文章仅做技术参考。
以下为相关脚本和钻石会员[1年]的授权码:
网友评论