【Linux】 OpenSSH_7.4p1 升级到 OpenSSH_8.7p1(亲测无问题,建议收藏)

news2024/11/26 0:40:41

🍁博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!

文章目录

  • 文章声明
  • 前述
  • 安装一些必要的命令(需要用到的)
  • Centos 服务器升级OpenSSH
  • Ubuntu 服务器升级OpenSSH
  • 参考文献

文章声明

文章声明:此文基于实操撰写
生产环境:ssh -V查看版本是:OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
问题关键字:OpenSSH 升级, OpenSSH 更新, OpenSSH 漏洞修复

前述

OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。 OpenSSH 8.3p1及之前版本中scp的scp.c文件存在操作系统命令注入漏洞。该漏洞源于外部输入数据构造操作系统可执行命令过程中,网络系统或产品未正确过滤其中的特殊字符、命令等。攻击者可利用该漏洞执行非法操作系统命令。 详细参考国家信息安全漏洞库信息: CVE-2020-15778 目前Rocky Linux 8.3 RC1 采用的为OpenSSH_8.0p1,所以建议通过升级OpenSSH修复此问题。同样OpenSSH before 8.5也存在漏洞,所以建议修复至最新版本OpenSSH_8.7p1。 注:此操作步骤同样适用于Red Hat系所有7.x 8.x服务器系统。

注意事项:

在升级之前,建议打开多个SSH终端连接,并安装telnet服务器,确保在SSH服务器升级异常时,可以通过telnet服务器远程连接,进行紧急问题修复处理。
因为最开始需要直接卸载openssh,卸载完之后就连不上了,如有问题不好解决,所以建议多开几个SSH终端连接。

安装一些必要的命令(需要用到的)

安装一些必要的命令(需要用到的)

yum install wget gcc openssl-devel pam-devel rpm-build -y

如果没有外网,可以选择在有网络的服务器上下载rpm安装包,yum离线下载安装包可参考:Centos7 yum如何下载离线安装包?(详解)

Centos 服务器升级OpenSSH

# 查看当前安装包
[root@localhost ~]# rpm -qa | grep openssh
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
# 查看当前OpenSSH版本(Centos7 默认使用OpenSSH_7.4p1)
[root@localhost ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
# 备份现有的SSH
[root@localhost ~]# mv /etc/ssh/ /etc/ssh.bak
[root@localhost ~]# mv /usr/bin/ssh /usr/bin/ssh.bak
[root@localhost ~]# mv /usr/sbin/sshd /usr/sbin/sshd.bak
# 如果您是第一次升级,备份/etc/init.d/sshd时会不存在,不影响后续操作
[root@localhost ~]# mv /etc/init.d/sshd /etc/init.d/sshd.bak
mv: 无法获取'/etc/init.d/sshd' 的文件状态(stat): No such file or directory
# 卸载现有OpenSSH
[root@localhost ~]# rpm -e --nodeps $(rpm -qa |grep openssh)
警告:文件 /usr/sbin/sshd: 移除失败: 没有那个文件或目录
警告:文件 /etc/ssh/sshd_config: 移除失败: 没有那个文件或目录
警告:文件 /usr/bin/ssh: 移除失败: 没有那个文件或目录
警告:文件 /etc/ssh/ssh_config: 移除失败: 没有那个文件或目录
警告:文件 /etc/ssh/moduli: 移除失败: 没有那个文件或目录
警告:文件 /etc/ssh: 移除失败: 没有那个文件或目录
# 确保已经卸载成功(没有返回则卸载成功)
[root@localhost ~]# rpm -qa | grep openssh
# 下载OpenSSH二进制包
[root@localhost ~]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
[root@localhost ~]# tar -zxvf openssh-8.7p1.tar.gz
[root@localhost ~]# cd openssh-8.7p1
# 编译安装
[root@localhost openssh-8.7p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --without-hardening
[root@localhost openssh-8.7p1]# make
[root@localhost openssh-8.7p1]# make install

编译如果有此报错,可能是你没安装gcc…需要的命令,返回最上面: 安装一些必要的命令(需要用到的),安装完再次编译就可以了。

在这里插入图片描述

# 授权
[root@localhost openssh-8.7p1]# chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
# 复制配置文件
[root@localhost openssh-8.7p1]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-8.7p1]# cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
# 修改配置允许root用户远程登录
[root@localhost openssh-8.7p1]# echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
[root@localhost openssh-8.7p1]# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
[root@localhost openssh-8.7p1]# sed -i "s/^#Port/Port/g" /etc/ssh/sshd_config
[root@localhost openssh-8.7p1]# chmod 755 /etc/init.d/sshd
# 启用sshd,生成服务配置文件
[root@localhost openssh-8.7p1]# systemctl enable sshd
sshd.service is not a native service, redirecting to systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable sshd
# 重启服务
[root@localhost openssh-8.7p1]# systemctl restart sshd
# 验证升级是否成功
[root@localhost ~]# ssh -V
OpenSSH_8.7p1, OpenSSL 1.0.2k-fips  26 Jan 2017

Ubuntu 服务器升级OpenSSH

# 下载OpenSSH二进制包
root@localhost:~# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
root@localhost:~# tar -zxvf openssh-8.7p1.tar.gz
root@localhost:~# cd openssh-8.7p1
# 编译安装
root@localhost:openssh-8.7p1# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-privsep-path=/var/lib/sshd
root@localhost:openssh-8.7p1# make
root@localhost:openssh-8.7p1# make install

编译如果有此报错,可能是你没安装gcc…需要的命令,返回最上面: 安装一些必要的命令(需要用到的),安装完再次编译就可以了。

在这里插入图片描述

# 重启服务
root@localhost:openssh-8.7p1# systemctl restart sshd
# 验证升级是否成功
root@localhost:openssh-8.7p1# ssh -V
OpenSSH_8.7p1, OpenSSL 1.0.2k-fips  26 Jan 2017

参考文献

  • [1] 国家信息安全漏洞库:http://www.cnnvd.org.cn/
  • [2] 腾讯安全:https://s.tencent.com/research/bsafe/
  • [3] Centos7 yum如何下载离线安装包?(详解):https://liucy.blog.csdn.net/article/details/125780172?spm=1001.2014.3001.5502

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/499135.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库学习(进阶篇)

1.存储引擎 1.1 MySQL体系结构 连接层 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 服务层 第二层家口主要完成大多数的核心服务功能,如SQL接口…

二挡起步——pythonweb开发Django框架,前端原生+Django后端框架+python网络抓包(代替数据库数据)(附带小案例)

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

Java8新特性—Stream API

前言 Java 8引入了Stream API,这是一种新的API,可让开发人员更轻松地处理集合数据。 Stream API提供了丰富的操作,如过滤、映射、排序和规约。下面将对Stream API的基本语法、使用场景和示例进行介绍。 基本语法 Stream API是Java 8中处理…

玄子Share- Maven 3 安装配置教程(含安装包)

玄子Share- Maven 3 安装配置教程(含安装包) 下载 下载链接 官网 https://maven.apache.org/index.html 下载教程 进入 Maven 官网,点击左侧导航栏,Download下载。 下方选择安装类型,选择.zip后缀文件&#xff0c…

Linux系统通过Docker安装Elasticsearch、部署kibana

Docker安装和基本操作 一、安装Elasticsearch 1.1.创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: docker network create es-net1.2.拉取 docker pull elasticsearch:7.12.11.3.运行 运行docker命令…

8-3分治

引入 分治算法(divide and conquer)是五大常用算法(分治算法、动态规划算法、贪心算法、回溯法、分治界限法)之一。其实,很多人在平时学习中已经不知不觉就用到了分治算法,只是不知道那就是分治算法,今天,…

Word Embedding

One-hot-encoding 缺点 1.向量维度和向量个数很大,假设有1w个token的话,向量个数和维度就都是1w 2. 语义相近的词的向量并不相似 Word Embedding 核心思想:可以通过上下文理解单词的语义 predection-based方法 使用前一个单词预测下一个…

【前端】1、flex 布局详解

flex 布局目录 一、flex container 和 flex items二、用在 flex container 上的 CSS 属性(1) flex-direction(2) justify-content(3) align-items(4) flex-wrap(5) flex-flow(6) align-content 三、用在 flex items 上的 CSS 属性(1) order(顺序)(2) ali…

【Linux】Linux下的基本指令

😛作者:日出等日落 📘 专栏:数据结构 人生就是这样,要耐的住寂寞,才守得住繁华。 —— 七堇年 目录 Linux的基本命令(常用): ls 指令: pwd指…

告别混乱代码,这份 SpringBoot 后端接口规范太及时了

告别混乱代码,这份 SpringBoot 后端接口规范太及时了! 文章目录 一、前言 二、环境说明 三、参数校验 1、介绍2、Validator 自动抛出异常(使用)3、分组校验和递归校验4、自定义校验 四、全局异常处理 1、基本使用2、自定义…

【Android入门到项目实战-- 9.4】—— 方向传感器的详细使用教程

目录 一、基础知识 二、实战使用 一、基础知识 Android的方向传感器,返回三轴的角度数据,方向数据的单位是角度。 提供三个数据:azimuth、pitch和roll。 azimuth:方位,返回水平时磁北极和Y轴的夹角,范围是…

Qt绘图(好玩)

release下的exe文件流畅度要远好于debug下的exe文件。 源码来源:基于Qt5模拟企业微信聊天界面(QWidget)_阿木大叔mu的博客-CSDN博客 初看时,觉得很神奇,猫眼会随着鼠标移动。 看完源码后,感觉很精美。 全是用painter画上去的&…

09_Uboot启动流程_1

目录 链接脚本u-boot.lds详解 U-Boot启动流程详解 reset函数源码详解 lowlevel_init函数详解 s_init函数详解 链接脚本u-boot.lds详解 要分析uboot的启动流程,首先要找到“入口”,找到第一行程序在哪里。程序的链接是由链接脚本来决定的,所以通过链接脚本可以找到程序的入…

【射影几何08】仿射映射

一、说明 简单来说,“仿射变换”就是:“线性变换”“平移”,但这是在笛卡尔坐标下的表现,然而在射影几何中,其中有更合乎逻辑的解释。本文讲仿射映射的定义,以及仿射不变性的特点。 二、仿射映射 2.1 直线…

2022 年全国硕士研究生入学统一考试英语(二)试题

2022年全国硕士研究生入学统一考试英语(二)试题 SectionⅠUse of English Directions: Read the following text. Choose the best word(s) for each numbered blank and mark A, B, C or D on the ANSWER SHEET. (10 points) Harlan Coben believes tha…

ChatGPT诞生的新岗位:提示工程师(Prompt Engineer)

ChatGPT诞生的新岗位:提示工程师(Prompt Engineer) Prompt 工程师是什么? 是识别人工智能的错误和隐藏功能,以便开发者可以对这些发现进行处理。 如果你正在寻找科技领域最热门的工作,你可以尝试了解如何与AI聊天机…

分布式文件存储系统Minio使用总结

分布式文件存储系统Minio使用总结 1.分布式文件系统应用: 1.1、Minlo 介绍: Minlo 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、…

一篇文章带你了解抖音来客功能的使用方法和注意事项

抖音是近年来备受欢迎的社交媒体平台之一,其中的“来客”功能更是让许多人喜爱。那么什么是抖音来客呢?抖音来客是指在直播过程中,可以邀请其他抖音用户进行互动和参与,从而增加直播的热度和粉丝数量。下面不若与众科技就来介绍一…

FPGA - 7系列 FPGA内部结构之CLB -03- CLB相关原语以及应用

前言 本文节选UG474的第二章,进行整理翻译。CLB资源被FPGA综合工具自动有效地使用,不需要任何特殊的FPGA专用编码。一些HDL编码建议和技术可以帮助优化设计以获得最大效率。 设计检查清单 这些指南是为有效使用7系列CLB的设计建议提供的快速核对表。7…

阿里云服务器公网带宽计费模式选择方法(一篇搞定)

阿里云服务器公网带宽计费模式按固定带宽和按使用流量哪个划算?阿里云百科以北京地域为例,按固定带宽计费1M带宽一个月23元,按使用流量计费1GB流量0.8元,如果云服务器带宽使用率低于10%,那么首选按使用流量计费&#x…