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

  

posted @ 2020-11-04 11:28  请别对我太好  阅读(328)  评论(0编辑  收藏  举报