由于项目构建时间比较长,近期安全检查发现openssh有漏洞。所以要升级openssh到7.9p1版本。由于ssh用于远程连接,所以要谨慎操作。本文讲的步骤是在Centos7.3系统、原openssh是系统安装时自带的6.6版本基础上进行升级(其他版本类似),建议生成环境要先做测试,之后再在生产环境升级。

一、升级说明

1、升级OpenSSH后,原有公钥失效,信任关系需要重新配置;

2、升级过程需要停止sshd服务,会导致ssh和sftp无法使用;

3、升级需要关闭防火墙服务;

4、升级需要关闭selinux服务;

5、升级前需要开启telnet,防止升级失败,系统无法登录,对应的防火墙需要开启23端口,安装需要telnet相关包(推荐通过系统ISO安装)

6、升级过程中需要刷新lib库:ldconfig -v;

7、升级顺序:顺序是zlib库-> openssl -> openssh;

8、升级需要gcc、make、perl、zlib、zlib-devel、pam、pam-devel依赖包;

二、安装包准备

需要准备的安装包(点击可本地下载):

三、安装并启用Telnet

1、安装telnet服务端

yum -y install xinetd telnet-server

2、默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。或者可以添加一个可以登录的用户,登录并su到root用户(建议采用此方法,保证系统安全)。此步骤可跳过!

允许root用户通过telnet登陆:

编辑/etc/pam.d/login,注释掉下面这行

vi /etc/pam.d/login

#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

3、添加超级用户登陆设备至/etc/securetty文件cp /etc/securetty /etc/securetty.bak

echo "pts/0" >> /etc/securetty

echo "pts/1" >> /etc/securetty

echo "pts/2" >> /etc/securetty

4、开启root用户远程登陆。此步骤可跳过!

编辑/etc/pam.d/remote,注释下列这行:

vi /etc/pam.d/remote

#auth required pam_securetty.so

5、重启telnet和xinetd服务【telnet服务依赖于xinetd服务】systemctl restart telnet.socket

systemctl restart xinetd

PS:如果开启了防火墙,需要将23端口(系统默认23为telnet端口)添加到防火墙允许的端口的列表中。

四、安装升级

(1)、升级前环境准备

1、将上文下载的三个文件上传至服务器,目录可自行设定,方便即可。

2、关闭系统防火墙

systemctl stop firewalld.service

3、关闭SElinux

检查是否关闭:

getenforce

如果未关闭,关闭之

setenforce 0

上面只是临时关闭了,重启后不生效。下面改配置文件,使永久生效。

vi /etc/selinux/config

修改:

SELINUX=disabled

保存退出。

4、安装相关依赖包

yum -y install gcc make perl zlib zlib-devel pam pam-devel

安装完毕后执行下面命令,确保所有依赖包正常安装

rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"

(2)、升级openSSH(注意从这步开始,通过Telnet登录到服务器,务必)

1、停止ssh服务

systemctl stop sshd

备份ssh配置文件

cp -r /etc/ssh /etc/ssh.old

2、查看系统原有openssh包

rpm -qa | grep openssh

根据上面查询出的结果,卸载系统里原有Openssh(一般有三个包,全部卸载)

rpm -e --nodeps  xxxxxxxxxx

卸载完成后执行rpm -qa | grep openssh,确保没有回显

3、编译安装zlib

解压刚才上传到服务器的zlib-1.2.11.tar.gz,并进行编译安装tar -xzvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure --prefix=/usr/local/zlib

如果报错类似下图所示,请安装gcc

make

make install

验证zlib安装是否成功,要包含include、lib、share三个目录。

ll /usr/local/zlib

新建并编辑配置文件:

vi /etc/ld.so.conf.d/zlib.conf

加入如下内容后保存退出

/usr/local/zlib/lib

刷新库文件,加载刚才编译安装的zlib生成的库文件

ldconfig -v

4、编译安装openssl

解压安装openssl包,并进行编译安装tar -xzvf openssl-1.0.2o.tar.gz

cd openssl-1.0.2o

./config shared zlib

make      (时间比较长,切勿打断)

make test    (时间比较长,切勿打断)

make install     (时间比较长,切勿打断)

重命名现有文件目录

mv /usr/bin/openssl /usr/bin/openssl.bak

创建ssl相关软连接

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

编辑配置文件

vi /etc/ld.so.conf.d/ssl.conf

加入如下内容后保存退出

/usr/local/ssl/lib

刷新库文件,加载刚才编译安装的ssl生成的库文件

ldconfig -v

查看openssl版本

openssl version -a

5、升级openssh,编译安装tar -zxvf openssh-7.9p1.tar.gz

cd openssh-7.9p1

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd

make

修改文件权限

chmod 600 /etc/ssh/ssh_host_rsa_key

chmod 600 /etc/ssh/ssh_host_ecdsa_key

chmod 600 /etc/ssh/ssh_host_ed25519_key

make install

修改配置文件,允许root直接登录

echo "PasswordAuthentication yes"   >> /etc/ssh/sshd_config

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

ssh服务必须开机自启动,因此要进行一些设置

cp -p contrib/redhat/sshd.init /etc/init.d/sshd

chmod +x /etc/init.d/sshd

chkconfig --add sshd

chkconfig sshd on

systemctl restart sshd

验证ssh版本

ssh -V

ssh登录测试,可以成功登录。

openssh版本升级完成!

如果之前是rpm包安装的。并且按照以上步骤操作,可以直接以下命令进行回滚# yum -y install openssh-clients

# yum -y install openssh-server

# yum -y install openssh

openssh升级sftp_Centos7 升级 openSSH 到7.9p1的详细步骤相关推荐

  1. 一键脚本升级OpenSSL、OpenSSH

    OpenSSL.OpenSSH一般官方每年会更新两次,修复已知安全漏洞和各种程序Bug.随着越来越多的企业对安全意识的提高,一般每年也会内部开展两次安全整改检查工作,其中OpenSSL.OpenSSH ...

  2. Centos7.6编译升级openssl、openssh服务,关闭rpcbind服务

    目录 1. 安装telnet服务(可选) 2. openssl升级 2.1 备份原有openssl服务 2.2编译安装.及编译安装出现的报错 2.3 建立软连接 2.4 更新动态连接数据库 2.5查看 ...

  3. Windows Server 2003 AD升级到Windows Server 2008 AD的方法及详细步骤

    前言: Windows Server 2008 是现在企业比较流行的服务器操作系统,安全性高,配置灵活.方便,集成了Hyper-V虚拟化功能,能够充分发挥硬件的性能.Windows Server 20 ...

  4. android应用程序的自动更新升级(自身升级,通过tomcat),[SaltStack] Minion-conf自动更新...

    minion-conf配置文件自动更新, 加载 minion-conf是每个minion自身以来的配置, 为了方便我们在中心管控机上(Master)统一配置, 然后下发文件, 进而使得Minion能够 ...

  5. python3.7.2安装步骤-python安装升级详细步骤 Python2 升级 Python3

    多数情况下,系统自动的Python版本是2.x, 或者yum直接安装的也是2.x ,但是,现在多数情况下建议使用3.x ,那么如何升级呢? ,下面老徐详细讲解升级步骤; 首先下载源tar包 可利用li ...

  6. 【MySQL】源码编译MySQL8.x+升级gcc+升级cmake(亲测完整版)

    大家好,我是冰河~~ 今天给大家分享一篇通过源码编译安装MySQL8的文章,期间涉及到gcc和cmake等编译环境的升级.好了, 不多说了,开始今天的正题. 一.概述 最近,在CentOS 6.8服务 ...

  7. 引导魔女之力,征服星辰大海 升级篇: 重要事情说三遍: 升级!升级!!升满级!!! 简述: 1.本篇仅升级,涉及到的技巧全职业都可以参考; 2.考虑到萌新刚玩通关护卫者系统等级不高,故

    引导魔女之力,征服星辰大海 升级篇: 重要事情说三遍: 升级!升级!!升满级!!! 简述: 1.本篇仅升级,涉及到的技巧全职业都可以参考: 2.考虑到萌新刚玩通关护卫者系统等级不高,故禁护卫者以及不使 ...

  8. 解决因蓝牙驱动版本问题无法升win10问题 (附 WIN7升级WIN10超详细步骤 及 升级后个别问题软件处理方法)

    昨天晚上刚升级完毕,现在已经在正常使用! 有什么问题的朋友,欢迎多多交流! 想看如何解决因为蓝牙驱动无法升win10问题的朋友,直接看 升级过程中解决问题 的章节.其实思路就是如果真的无法更新驱动,那 ...

  9. 华为手机如何升级鸿蒙系统_华为鸿蒙系统怎么升级?升级鸿蒙系统步骤[多图]...

    这次开启华为鸿蒙2.0系统手机开发者beta版公测招募的机型有华为P40 .P40 Pro.Mate 30.Mate 30 Pro. MatePad Pro 设备,支持 OTA 升级.华为鸿蒙2.0系 ...

最新文章

  1. Html与Css关联到一起
  2. 机器视觉-EasyDL商品检测-标准版-Demo
  3. MySQL概要——《深究MySQL》
  4. python 装饰器的妙用,实现类属性的懒加载
  5. php中fread()函数,php fread()函数
  6. covariance matrix r语言_时间序列分析|ARIMAX模型分步骤详解和R中实践
  7. python数据结构编程_写给Python编程高手之 数据结构
  8. 数据结构-堆 C与C++的实现
  9. react native 0.50 源码解析 再出发 持续更新
  10. 比 matplotlib 效率高十倍的数据可视化神器
  11. iOS Swift 2 2 监听耳机的 插拔的事件
  12. CAD交互绘制虚线(网页版)
  13. 世界上最小的操作系统MenuetOS,仅有1.4M,安装运行全教程
  14. CSP-S 2020 儒略日
  15. 常用的15个国外网站
  16. 身份证工具-IdcardUtil案例
  17. Java详细讲解OOP面向对象
  18. windows自带应用变成灰色解决方案
  19. 写给迷茫期产品经理的一封信
  20. 设置服务器连接信息是什么情况,了解有关设置 IMAP 服务器连接的更多信息

热门文章

  1. 图像坐标球面投影_坐标系统及投影概述
  2. 【Codeforces 339C】Xenia and Weights
  3. 黑马程序员——11 正则表达式
  4. poj 3082多边形相交 'Roid Rage
  5. delphi——用线程创建一个窗体笔记
  6. Chrome OS 0.4.220 Beta下载已发布
  7. MVP:界面与业务逻辑分离在Winform中的应用
  8. 使用Pocsuite3
  9. 河源市计算机组装竞赛,计算机组装大赛决赛圆满结束
  10. 查找linux所有目录中包含字符,Linux查找目录下包含有某字符串的全部文件