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

  

cenots7 rpm 包升级ssh的更多相关文章

  1. 编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)

    介绍 openstack平台需要使用各种Linux发行版模板镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的模板镜像再做修改 之前制作的opensta ...

  2. Ceph 客户端的 RPM 包升级问题

    问题 最近想把一个现有的 Ceph 客户端升级为最新的 M 版: [root@overcloud-ovscompute-0 ~]# rpm -qa | grep ceph puppet-ceph-2. ...

  3. fpm打包神奇rpm包升级python2.7.16

    fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...

  4. rpm 包的安装、卸载、升级、查询、验证

    关键字: rpm 强制卸载jdk rpm -e j2sdk1.4.2_04 强制覆盖安装jdk rpm -Uvh j2sdk-1_4_1_02-fcs-linux-i586.rpm --force - ...

  5. [Linux] 021 RPM 包的安装、升级与卸载

    1. 包全名与包名包全名 包全名:操作的包是没有安装的软件包 使用包全名.而且要注意路径包名 包名:操作已经安装的软件包时,使用 是搜索 /var/lib/rpm/ 中的数 2. 安装 $ rpm - ...

  6. 【CentOS】安装RPM包或者源码包

    一.rpm  (是Redheat Package Manager的简称) 如果光驱中还有系统安装盘的话, 1.先挂载光驱, mount /dev/cdrom /mnt/ 2.cd /mnt/ 3.cd ...

  7. Linux下RPM包的安装

    Linux下RPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(install):安装 -v(ve ...

  8. RPM包安装——手动安装

    RPM包安装 手动安装 挂载光盘 首先查看光盘是否挂载(使用mount命令) RPM包存放位置 在你光盘挂载点的Packages目录下 使用 ll | grep 关键字 可以快速找到你想要的RPM包 ...

  9. (转) centos7 RPM包之rpm命令

    原文:https://blog.csdn.net/capecape/article/details/78529159 RPM包与源码包的区别1.软件包分类 源码包:C源代码包 rpm包:编译之后的二进 ...

  10. 安装RPM包或者源码包

    RPM工具 RPM他是以一种数据库记录的方式将我们所需要的套件安装到linux主机的一套管理程序关于RPM各个选项的含义如下-i:表示安装-v:表示可视化-h:表示安装进度在安装RPM包时,常用的附带 ...

随机推荐

  1. git操作失误,提交代码因为网络问题没有成功,然后操作时候点错按钮导致代码全部没有了,也没用备份,如何解决

    最好的提交代码办法, 1.先创建一个空文件夹, 2.然后创建一个在线仓库 3. git remote add origin '仓库地址' 4.查看远程仓库 git remote remove orig ...

  2. 记一次简单的诈骗网站Getshell

    前言:在放假期间接到一个诈骗电话.然后说京东金条利率过高让我处理下(在疫情开放期间京东客服基本上是没有人工客服),然后就慢慢的被拉入钉钉会议,然后骗子给网站的时候发现域名不对就判定成了骗子就找理由有事 ...

  3. 关于v-deep有你想知道的一切

    1.首先要知道v-deep的使用场合. 在此之前先了解一下scoped属性,scoped 属性是一个布尔属性.如果使用该属性,则样式仅仅应用到 style 元素的父元素及其子元素. 在vue中引入了s ...

  4. ASP.NET Core中间件之理解

    在ASP.NET Core中什么是中间件 中间件是ASP.NET Core的核心组件 中间件组成一个管道,整个ASP.NET Core的执行过程就是HTTP请求和响应按照中间件组装的顺序在中间件之间流 ...

  5. 移动 WEB 开发之 阿里百秀移动端页面制作

    一.技术选型 二.需求分析 1.页面布局分析 2. 屏幕划分 三.页面制作 1. 项目前期准备 搭建项目结构 创建 html 骨架结构以及引入相关样式 <head> <meta ch ...

  6. 线程、GIL、协程

    1.多进程实现TCP服务端并发 1.之前我们学习了一个服务端对应一个客户端的操作,但是我们无法实现一个服务端对应多个客户端的操作.因此我们需要在pycharm的右上角点击倒三角,选择Edit Conf ...

  7. 使用Hook拦截sendto函数解决虚拟局域网部分游戏联机找不到房间的问题——以文明6为例

    正文 重要提醒(2023-02-13):本文部分内容存在bug,目前正在调试修改,会在一段时间之后更新 重要提醒(2023-02-14):目前已修复主要bug,会在一段时间之后更新,本文计划重写大部分 ...

  8. java基础(非常简单)

    java javaSE 注释: block块级 line 行 标识符和关键字 组成部分.变量名.类名.方法名--------标识符 $\数字._\字母 数据类型 强类型语言---安全性高--速度会慢 ...

  9. 鼎阳SDS6204长波形读取的潜力挖掘及上海光源测试

    ​​​ https://blog.csdn.net/weixin_43767046/category_11089525.html 上学期我搭建起来的逐束团3维质心位置测量系统一直是获取500us长的一 ...

  10. 微信小程序wx.navigateTo跳转参数大小超出限制问题

    微信小程序的跳转方式 wx.navigateTo(Object):保留当前页面,跳转到应用内的某个页面,使用 wx.navigateBack 可以返回到原页(新页面入栈) wx.redirectTo( ...