cenots7 rpm 包升级ssh
rpm下载地址 也可以自行官网下载
链接: https://pan.baidu.com/s/1S945MehpmZbIriKK6l7Sfw 提取码: y5ua
centos7rpm包升级ssh
逻辑思想
一、定义包的下载地址、定义要下载包的名字
二、定义一个函数
函数内容
第一步:下载包
第二步:验证下载包是否正确
第三步:备份原有ssh文件和pam.d 文件
第四步:创建新的文件夹然后把下载的包加压到此目录
第五步:rpm安装下载的包,并重启
第六步:验证重启是否成功,如果不成功是用whiptail返回,sshd服务重启失败,SSH升级失败。请不要退出root用户并进行检查
第七步:成功后输出SSH升级完成,当前版本请不要退出当前root环境,重启sshd服务后,重新登陆ssh验>证ssh是否正常
脚本正文 PKG_SRC=x.x.x.x:/home #下载地址 PKG_NAME=filename # 文件名字 Centos(){ cd /tmp/ wget http://$${PKG_SRC}/${PKG_NAME} if [[ $? == 0 ]];then cp -rp /etc/ssh /etc/ssh_`date "+%Y%m%d%H%M%S"` #备份原有文件 cp /etc/pam.d/sshd /etc/pam.d/sshd_`+%Y%m%d%H%M%S"` #备份pam文件 mkdir openssh; tar -xf ${PKG_NAME} -C openssh/ #创建新的文件夹把包解压到此目录 cd openssh rpm -Uvh openssh-*.rpm systemctl restart sshd #重启sshd 服务 if [[ $? != 0 ]] ; then whiptail --title "<ERROR>" --msgbox "sshd服务重启失败,SSH升级失败。请不要退出root用户并进行检查。" 10 50 exit ; fi # 使用 whiptail 提示框 宽高 10 ,50 ssh_ver = `ssh -V 2>&1 | grep OpenSSH | awk -F ',' '{print $1}'` whiptail --title "<NOTICE>" --msbox " sshd 升级完成 当前版本 ${ssh_ver} 不要着急退出 终端界面,重启服务,然后多连接几个伪终端" 10 55 rm -rf /tmp/${PKG_NAME} /tmp/openssh # 删除最初下载的包 else whiptail --title "<ERROR>" --msgbox "文件下载失败,请重试或者放弃吧愚蠢的人类" 10 55 exit } #检查系统用户及系统版本 if [[ `whoami != root`]];then whiptail --title "<ERROR>" --msgbox "请使用root用户执行";exit else if [[ `cat/etc/redhat-release | awk '{print $4}' | awk -F '.' '{print $1}'` -eq 7 ]];then Centos else whiptail -- title "<ERROR>" --msgbox " 目前只支持centos7 环境下的ssh 升级" 10 55 exit