#!/bin/bash
clear
echo ------------------------------------------
echo CentOS7 openssh升级到8.8p1
echo By GuoShuai
echo $(date +%F-%T)
echo 注意环境,使用前请做好测试!!!
echo ------------------------------------------
sleep 3s
clear
echo 安装进程开始 3
echo $(date +%F-%T) 安装进程开始。 > /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装进程开始。 > /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 1s
clear
echo 安装进程开始 3 2
sleep 1s
clear
echo 安装进程开始 3 2 1
sleep 1s
clear
echo 判断是否需要安装wget
echo $(date +%F-%T) 判断是否需要安装wget。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 判断是否需要安装wget。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
WGET=`rpm -qa | grep wget`
if [$WGET -z ];then
echo $(date +%F-%T) 安装wget开始。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装wget开始。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
yum install -y wget >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装wget结束。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装wget结束。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
fi
echo 刷新yum元数据缓存
echo $(date +%F-%T) 刷新yum元数据缓存开始。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 刷新yum元数据缓存开始。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 2s
yum makecache >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) 刷新yum元数据缓存结束。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 刷新yum元数据缓存结束。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 3s
clear
echo 检测是否安装telnet服务
echo $(date +%F-%T) 检测telnet服务开始。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 检测telnet服务开始。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 1s
echo 尝试启动telnet服务
sleep 1s
cp /etc/securetty /etc/securetty.bak
grep "pts/0" /etc/securetty || echo 'pts/0' >> /etc/securetty
grep "pts/1" /etc/securetty || echo 'pts/1' >> /etc/securetty
systemctl restart telnet.socket && systemctl restart xinetd >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
ps -ef |grep xinetd | egrep -v grep > /dev/null >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
if [ $? -eq 0 ]
then
echo 检测到telnet服务已启动。
systemctl enable telnet.socket >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
systemctl enable xinetd >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) 检测到telnet服务并启动。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 检测到telnet服务并启动。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 2s
else
echo 未检测到telnet服务,开始安装服务。
echo $(date +%F-%T) 未检测到telnet服务,开始安装。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 未检测到telnet服务,开始安装。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 2s
yum -y install xinetd telnet-server >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装telnet服务结束。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装telnet服务结束。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 2s
clear
echo 安装telnet服务结束,启动服务。
echo $(date +%F-%T) 启动telnet服务开始。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 启动telnet服务开始。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
systemctl restart telnet.socket && systemctl restart xinetd
systemctl enable telnet.socket >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
systemctl enable xinetd >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) 启动telnet服务结束。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 启动telnet服务结束。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 1s
fi
clear
echo 关闭SElinux及防火墙并禁用。
echo $(date +%F-%T) 关闭SElinux并禁用开始。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 关闭SElinux并禁用开始。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 2s
setenforce 0 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
cat /etc/selinux/config >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
systemctl stop firewalld.service >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
systemctl disable firewalld.service >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
cat /etc/selinux/config >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 2s
echo $(date +%F-%T) 关闭SElinux并禁用结束。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 关闭SElinux并禁用结束。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
clear
echo 准备安装文件存放路径
echo ################################################################
echo 服务器无法联网下载的可以将所需要的升级包放到/root/OpenSSH目录下
echo ################################################################
echo $(date +%F-%T) 准备安装文件存放路径。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 准备安装文件存放路径。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
file=/root/OpenSSH
zlib=http://www.zlib.net/zlib-1.2.11.tar.gz
openssl=https://www.openssl.org/source/openssl-1.1.1m.tar.gz
openssh=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
echo 创建目录
mkdir -p $file/zlib >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
mkdir -p $file/openssl >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
mkdir -p $file/openssh >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo 联网通过wget下载安装包
cd $file
echo 开始下载zlib
echo $(date +%F-%T) 开始下载安装文件 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 开始下载安装文件 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
wget $zlib >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) zlib下载结束 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) zlib下载结束 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo 开始下载openssl
wget --no-check-certificate $openssl >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) openssl下载结束 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) openssl下载结束 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo 开始下载openssh
wget --no-check-certificate $openssh >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) openssh下载结束 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) openssh下载结束 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo 安装程序依赖包。
echo $(date +%F-%T) 安装程序依赖包开始。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装程序依赖包开始。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 2s
yum -y install gcc gcc-c++ make pam pam-devel openssl-devel pcre-devel perl zlib-devel >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装程序依赖包结束。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 安装程序依赖包结束。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 1s
clear
echo 停止并卸载原有ssh
echo $(date +%F-%T) 停止并卸载原有ssh开始。 >> /root/OpenSSH/update_$(date +%Y%m%d).log
echo $(date +%F-%T) 停止并卸载原有ssh开始。 >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
sleep 3s
systemctl stop sshd >> /root/OpenSSH/updatelogs_$(date +%Y%m%d).log
cp -r /etc/ssh /etc/ssh.old >> /r
评论1