升级SSH 存在中断风险,如果SSH 升级失败将会导致终端无法登录,建议在使用本地虚拟机进行测试后对线上生产环境进行升级操作!!!

三级等保评测中对主机进行漏洞扫描发现linux主机存在高危漏洞,查看发现是OpenSSH版本过低导致,于是对主机系统OpenSSH软件版本进行升级。

升级有风险操作需谨慎(使用telnet 兜底)可选操作

安装xinted

xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。telnet服务就是通过xinetd服务来管理的,所以在安装telnet服务之前需要先安装xinetd服务。

  1. yum install -y xinetd

yum 安装telnet-server telnet-client

  1. yum -y install telnet-server telnet

查看软件版本

  1. rpm -qa telnet-server
  2. telnet-server-0.17-66.el7.x86_64

配置telnet 文件

若此文件不存在,则创建这个文件。将其中disable=yes改为disable=no或注释掉。

  1. vim /etc/xinetd.d/telnet
  2. service telnet
  3. {
  4. flags = REUSE
  5. socket_type = stream
  6. wait = no
  7. user = root
  8. server = /usr/sbin/in.telnetd
  9. log_on_failure += USERID
  10. disable = no
  11. }

重启服务

  1. systemctl restart xinetd
  2. systemctl restart telnet.socket

telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,创建普通用户登录系统切换root。

telnet 测试

  1. telnet 192.168.99.147

查看系统版本 ssh版本

  1. #查看系统版本
  2. cat /etc/redhat-release
  3. CentOS Linux release 7.5.1804 (Core)
  4. #查看ssh 版本
  5. ssh -V
  6. OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

更新并安装所需要的依赖

  1. yum install -y make gcc gcc-c++ openssl-devel zlib zlib-devel pam-devel

下载 解压 openssh8.5压缩包

  1. cd /usr/local/src
  2. wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz
  3. tar -zxvf openssh-8.5p1.tar.gz

测试及编译源码

  1. cd openssh-8.5p1
  2. ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening

删除/etc/ssh/下的密钥对(只删除密钥对即可,重启会重新生成)

  1. rm -rf /etc/ssh/ssh_host_*

make安装

  1. make && make install

修改配置文件

  1. vim /etc/ssh/sshd_config
  2. PermitRootLogin yes
  3. PasswordAuthentication yes
  4. #GSSAPIAuthentication yes
  5. #GSSAPICleanupCredentials no

将源码安装包中 opensshd.init 文件复制到 /etc/init.d/ 目录下并添加可执行权限

  1. cp /usr/local/src/openssh-8.5p1/opensshd.init /etc/init.d/sshd.init
  2. chmod u+x /etc/init.d/sshd.init

启动ssh服务

  1. /etc/init.d/sshd.init start

备份原有sshd.service文件

  1. mv /usr/lib/systemd/system/sshd.service /usr/local/src

添加sshd.service 文件

  1. vim /usr/lib/systemd/system/sshd.service
  2. # Automatically generated by systemd-sysv-generator
  3. [Unit]
  4. Documentation=man:systemd-sysv-generator(8)
  5. SourcePath=/etc/rc.d/init.d/sshd.init
  6. Description=SYSV: OpenSSH server daemon
  7. [Service]
  8. Type=forking
  9. Restart=no
  10. TimeoutSec=5min
  11. IgnoreSIGPIPE=no
  12. KillMode=process
  13. GuessMainPID=no
  14. RemainAfterExit=no
  15. PIDFile=/var/run/sshd.pid
  16. ExecStart=/etc/rc.d/init.d/sshd.init start
  17. ExecStop=/etc/rc.d/init.d/sshd.init stop
  18. ExecReload=/etc/rc.d/init.d/sshd.init reload

重载配置,重启ssh服务

  1. systemctl daemon-reload
  2. systemctl restart sshd

查看当前ssh版本

  1. [root@gitlab openssh-8.5p1]# ssh -V
  2. OpenSSH_8.5p1, OpenSSL 1.0.2k-fips 26 Jan 2017
  3. [root@gitlab openssh-8.5p1]# telnet 127.0.0.1 22
  4. Trying 127.0.0.1...
  5. Connected to 127.0.0.1.
  6. Escape character is '^]'.
  7. SSH-2.0-OpenSSH_8.5
  8. Invalid SSH identification string.
  9. Connection closed by foreign host.

CentOS 7.x 升级OpenSSH的更多相关文章

  1. Centos 6.5升级openssh漏洞

    CentOS 6.5下openssh升级 在有的企业中每年都会安全扫描,因为实现远程连接比较重要,如果openssh版本过低,就要对其升级,本文主要讲述openssh升级的步骤. openssh升级主 ...

  2. CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门

    最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...

  3. CentOS 7 下升级OpenSSH 7.4p1到OpenSSH 8.4p1

    文章目录 一.环境介绍 二.安装配置telnet 2.1.安装telnet-server 2.2.配置telnet 2.3.配置telnet登录的终端类型 2.4.启动telnet服务 三.切换登录方 ...

  4. centos 6&7 升级openssh

    1.查看现在的版本 # rpm -qa | grep openssh openssh-clients-6.6.1p1-22.el7.x86_64 openssh-server-6.6.1p1-22.e ...

  5. Centos 6.5升级openssh到7.5p1版本

    centos6自带的ssh版本较低,存在高危漏洞,目前部分服务器需要升级到最新版本(目前是7.5p1). 注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好有远程 ...

  6. centos升级openssh的两种方式

    此文介绍的是服务器在有网络和无网络情况下升级openssh方式. 一.首先介绍一个无网络如何升级: 1.准备相关的包 openssh下载地址:  http://mirror.internode.on. ...

  7. centos升级openssh版本

    似乎升级就是简单的安装ssh包就行了,没进行其他修改,虚拟机24个中高低漏洞解决 安装最新包: 1.下载:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/por ...

  8. CentOS 升级 openSSH

    openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞: a. OpenSSH 远程代码执行漏洞(CVE-2016-10009) b.  OpenSSH aut ...

  9. CentOS 升级 openSSH+ sh脚本自动运维

     升级前后对比 openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞: OpenSSH 远程代码执行漏洞(CVE-2016-10009) OpenSSH au ...

随机推荐

  1. Linux-Day01

    Linux-Day01 课程内容 Linux简介 Linux安装 Linux常用命令 1. 前言 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统.说到操作系统,大家比较熟知的应 ...

  2. 如何手写一个js工具库?同时发布到npm上

    自从工作以来,写项目的时候经常需要手写一些方法和引入一些js库 JS基础又十分重要,于是就萌生出自己创建一个JS工具库并发布到npm上的想法 于是就创建了一个名为learnjts的项目,在空余时间也写 ...

  3. Oracle,SAP等暂停俄所有业务,国产化刻不容缓,无代码又该如何发力

    国产化刻不容缓 "如果不是自主可控的产品,我们这个行业可能有一天就瘫痪了."这句话最早是中国工程院院士倪先生预言的.然而,2022年的今天,由于俄乌战争,包括Oracle.SAP等 ...

  4. Rails_via牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28537/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...

  5. list集合的介绍和常用方法

    List接口介绍 java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象成为List集合.在List集合中允许出现重复的元素,所 ...

  6. .netcore 定制化项目开发的思考和实现

    今年年初进了一家新公司,进入之后一边维护老项目一边了解项目流程,为了接下来的项目重做积累点经验. 先说下老项目吧,.net fx 3.5+oracle...... 在实际维护中逐渐发现,老项目有标准版 ...

  7. python迭代器、生成器、yield理解

    简介 yield关键字是python的一种高阶用法,使用yield的函数会返回一个生成器对象,生成器又是一个迭代器,与迭代器相类似的则是可迭代对象,下面首先介绍一下迭代器吧. 迭代器 在python中 ...

  8. Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。

    前方: 开源地址:https://github.com/cyq1162/Taurus.MVC 上篇文章介绍过:工业制造行业的低代码开发平台思维架构图 规划中涉及到了微服务,近些天经过努力和不断的代码与 ...

  9. 前端监控系列1| 字节的前端监控SDK是怎样设计的

    作者:彭莉,火山引擎 APM 研发工程师,2020年加入字节,负责前端监控 SDK 的开发维护.平台数据消费的探索和落地. 摘要 字节内部应用环境多样( Web 应用.小程序.Electron 应用. ...

  10. 一个非常简单用.NET操作RabbitMQ的方法

    RabbitMQ作为一款主流的消息队列工具早已广受欢迎.相比于其它的MQ工具,RabbitMQ支持的语言更多.功能更完善. 本文提供一种市面上最/极简单的使用RabbitMQ的方式(支持.NET/.N ...