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
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号