• ansible批量漏洞升级openssh版本


    1、ansible宿主机准备好环境,并写好hosts文件

    1. [root@oxidized ansible]# cat hosts
    2. [all]
    3. 10.10.200.33
    4. 10.10.200.34
    5. 10.10.200.35
    6. 跑playbook之前记得提前发送秘钥
    7. ssh-copy-id 10.10.200.33/34/35

    2、下载好安装包,然后编写yml

    1. [root@oxidized ansible]# cat loudongBD.yml
    2. - name: 漏洞修复
    3. hosts: all
    4. tasks:
    5. - name: copy openssl
    6. copy:
    7. src: /openssh_upgrade_9.7/openssl-3.1.5.tar.gz
    8. dest: /usr/local/src/openssl-3.1.5.tar.gz
    9. - name: copy openssh
    10. copy:
    11. src: /openssh_upgrade_9.7/openssh-9.7p1.tar.gz
    12. dest: /usr/local/src/openssh-9.7p1.tar.gz
    13. - name: copy upgrade脚本
    14. copy:
    15. src: /etc/ansible/loudongBD_ssh.sh
    16. dest: /usr/local/src/loudongBD_ssh.sh
    17. - name:
    18. copy:
    19. src: /etc/ansible/loudongBD_ssl.sh
    20. dest: /usr/local/src/loudongBD_ssl.sh
    21. - name: openssl升级
    22. shell: sh /usr/local/src/loudongBD_ssl.sh
    23. - name: openssh升级
    24. shell: sh /usr/local/src/loudongBD_ssh.sh

    3、两个shell脚本内容如下

    openssl升级脚本:

    1. [root@oxidized ansible]# cat loudongBD_ssl.sh
    2. #!/bin/bash
    3. cd /etc/yum.repos.d/ && mkdir bak
    4. mv *.repo bak/
    5. cat >>/etc/yum.repos.d/local.repo <
    6. [base]
    7. name=Nexus
    8. baseurl=http://10.10.200.20:8081/repository/yumHosted/
    9. enabled=1
    10. gpgcheck=0
    11. EOF
    12. yum makecache fast
    13. yum install gcc gcc-c++ openssl-devel libstdc++* libcap* pam-devel zlib-devel perl perl-IPC-Cmd -y
    14. cd /usr/local/src/
    15. mv /usr/lib64/openssl /usr/lib64/openssl.old
    16. yum -y remove openssl
    17. tar xf openssl-3.1.5.tar.gz
    18. cd /usr/local/src/openssl-3.1.5
    19. ./config --prefix=/usr
    20. make && make install

    openssh升级脚本:

    1. [root@oxidized ansible]# cat loudongBD_ssh.sh
    2. #!/bin/bash
    3. cd /usr/local/src/
    4. tar xf openssh-9.7p1.tar.gz
    5. mkdir /etc/ssh.bak
    6. mv /etc/ssh/ /etc/ssh.bak
    7. cd /usr/local/src/openssh-9.7p1
    8. ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-md5-passwords
    9. make && make install
    10. cp /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
    11. mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
    12. cp /etc/ssh/sshd_config{,.bak}
    13. sed -i 's/^PermitRootLogin/#&/' /etc/ssh/sshd_config
    14. sed -i '32i PermitRootLogin yes' /etc/ssh/sshd_config
    15. chkconfig --add sshd
    16. systemctl daemon-reload
    17. systemctl restart sshd

    4、环境准备好后,直接运行剧本即可

    [root@oxidized ansible]# ansible-playbook loudongBD.yml

    5、升级后检查ssh版本

    1. [root@oxidized ansible]# ssh -V
    2. OpenSSH_9.7p1, OpenSSL 3.1.5 30 Jan 2024

  • 相关阅读:
    JAVA学习
    mybatispagehelp嵌套分页处理
    带救援的两阶段随机规划问题的LShaped算法理论与算例
    [C国演义] 第十三章
    甘露糖-聚乙二醇-6-羧甲基荧光素mannose-PEG-6-FAM
    Prometheus&Grafana + clickhouse监控配置
    分布式消息通信之Kafka的实现原理
    签到功能完成03《ivx低代码签到系统制作》
    大模型产业化有四个关键,昇腾AI推动“AI+遥感”打了个样
    巧用TXT文档导入所有快递单号查询物流详情
  • 原文地址:https://blog.csdn.net/weixin_44147924/article/details/139260830