如何只用一步批量升级成百上千的服务器Openssh版本?

在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建立成功。

ansbile架构


(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包(上传即用)。

脚本的帮助界面如下:

脚本帮助提示界面


使用脚本条件

① 购买获取授权密码的期限如下:

#青铜用户:一天

#白银用户:一个月

#黄金用户:三个月

#铂金用户:六个月

#钻石用户:1年 

#超级用户:无限期 {提供源代码}

② 保证ntp配置能正常同步和检查时间差异

查询出来NTP时间源: cat /etc/ntp.conf|grep '^server'|awk '{ print $NF}'

测试:ntpdate -d [NTP时间源]

③ 环境中满足以上已支持的Python版本或上传对应python包

  查询当前服务器的python版本:python -V

温馨提示:本篇文章仅做技术参考。



你可能感兴趣的:(如何只用一步批量升级成百上千的服务器Openssh版本?)