ansible批量漏洞升级openssh版本

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

[root@oxidized ansible]# cat hosts
[all]
10.10.200.33
10.10.200.34
10.10.200.35

跑playbook之前记得提前发送秘钥
ssh-copy-id 10.10.200.33/34/35

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

[root@oxidized ansible]# cat loudongBD.yml
- name: 漏洞修复
  hosts: all
  tasks:
    - name: copy openssl
      copy:
        src: /openssh_upgrade_9.7/openssl-3.1.5.tar.gz
        dest: /usr/local/src/openssl-3.1.5.tar.gz
    - name: copy openssh
      copy:
        src: /openssh_upgrade_9.7/openssh-9.7p1.tar.gz
        dest: /usr/local/src/openssh-9.7p1.tar.gz
    - name: copy upgrade脚本
      copy:
        src: /etc/ansible/loudongBD_ssh.sh
        dest: /usr/local/src/loudongBD_ssh.sh
    - name:
      copy:
        src: /etc/ansible/loudongBD_ssl.sh
        dest: /usr/local/src/loudongBD_ssl.sh
    - name: openssl升级
      shell: sh /usr/local/src/loudongBD_ssl.sh
    - name: openssh升级
      shell: sh /usr/local/src/loudongBD_ssh.sh

3、两个shell脚本内容如下

openssl升级脚本:

[root@oxidized ansible]# cat loudongBD_ssl.sh
#!/bin/bash
cd /etc/yum.repos.d/ && mkdir bak
mv *.repo bak/
cat >>/etc/yum.repos.d/local.repo <<EOF
[base]
name=Nexus
baseurl=http://10.10.200.20:8081/repository/yumHosted/
enabled=1
gpgcheck=0
EOF

yum makecache fast


yum install gcc gcc-c++ openssl-devel libstdc++* libcap* pam-devel zlib-devel perl perl-IPC-Cmd -y

cd /usr/local/src/

mv /usr/lib64/openssl /usr/lib64/openssl.old

yum -y remove openssl

tar xf openssl-3.1.5.tar.gz

cd /usr/local/src/openssl-3.1.5

./config --prefix=/usr

make && make install

openssh升级脚本:

[root@oxidized ansible]# cat loudongBD_ssh.sh
 #!/bin/bash

cd  /usr/local/src/

tar xf openssh-9.7p1.tar.gz

mkdir /etc/ssh.bak

mv /etc/ssh/ /etc/ssh.bak

cd /usr/local/src/openssh-9.7p1

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-md5-passwords

make && make install

cp /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/sshd

mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak

cp /etc/ssh/sshd_config{,.bak}

sed -i 's/^PermitRootLogin/#&/' /etc/ssh/sshd_config

sed -i '32i PermitRootLogin yes' /etc/ssh/sshd_config

chkconfig --add sshd

systemctl daemon-reload

systemctl restart sshd

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

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

5、升级后检查ssh版本

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值