CentOS7升级openssh10.0p2和openssl3.5.0详细操作步骤

背景

近期漏洞扫描时,发现有很多关于openssh的相关高危漏洞,因此需要升级openssh的版本

升级步骤

由于opensshopenssl的版本是需要相匹配的,这次计划将openssh升级至10.0p2版本,将openssl升级至3.5.0版本,都是目前官网最新版本

升级包下载

openssh源码包官网下载地址:Index of /pub/OpenBSD/OpenSSH/portable/

openssl源码包官网下载地址:Downloads | OpenSSL Library

这里我们采用更加简单的方式来升级openssh,可以直接使用rpm包来升级opensshCentOS7openssh10.0p2版本rpm包下载地址:CentOS7系统openssh10.0p2版本rpm升级包资源-CSDN下载

升级openssh

查看系统版本

先使用命令 cat /etc/centos-release 查看下当前系统版本

查看软件版本

使用命令 ssh -V 查看当前openssh版本,使用命令 openssl version 查看当前openssl版本

拷贝安装文件

openssh10.0p2rpm文件拷贝至/root文件夹下,进入该文件夹里面可以看到3个rpm文件

卸载旧版软件

使用命令 rpm -qa | grep openssh 查看当前系统中安装的包含opensshrpm包

使用命令 rpm -e --nodeps 包名 将当前系统中安装的包含opensshrpm包卸载

再次使用命令 rpm -qa | grep openssh 查看当前系统安装的包中已经没有包含opensshrpm包

安装软件

使用命令 yum -y localinstall *.rpm 安装该文件夹下所有rpm

安装已完成

报错处理

安装完成后我们使用命令 systemctl start sshd 启动sshd服务,发现有报错

使用命令 systemctl status sshd.service 查看报错原因如下

Permissions 0640 for '/etc/ssh/ssh_host_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

译文:

“/etc/ssh/ssh_host_rsa_key”的权限0640太开放。
要求您的私钥文件不能被其他人访问。
此私钥将被忽略。

使用命令 chmod -v 600 /etc/ssh/ssh_host_*_key 更改文件权限

再次使用命令systemctl start sshd 启动sshd服务,服务已经正常启动了

验证

使用命令 ssh -V 查看当前openssh版本如下,但是使用命令 openssl version 查看当前openssl的版本还未更新

升级openssl

拷贝安装文件

openssl的源码包上传到系统/opt目录下,使用命令 tar -xvf openssl-3.5.0.tar.gz 解压

卸载旧版软件

使用命令 yum -y remove openssl 和 yum -y remove openssl-devel 卸载掉原有openssl安装包

安装相关依赖包

使用命令 yum -y install perl gcc perl-IPC-Cmd perl-ExtUtils-CBuilder先安装后面步骤所需的依赖包

配置、编译和安装

进入到openssl-3.5.0文件夹里面,使用命令 ./config 配置

使用命令 make && make install 编译安装,完成后还是看不到openssl的版本信息

更新软链接

使用如下命令

[root@localhost openssl-3.5.0]# ln -sf /usr/local/bin/openssl /usr/bin/openssl
[root@localhost openssl-3.5.0]# ln -sf /usr/local/include/openssl /usr/include/openssl
[root@localhost openssl-3.5.0]# ln -sf /usr/local/lib/libssl.so /usr/lib/libssl.so
[root@localhost openssl-3.5.0]# ln -sf /usr/local/lib/libcrypto.so /usr/lib/libcrypto.so

更新共享库缓存

使用命令 ldconfig 更新下共享库缓存

/etc/profile添加环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openssl-3.5.0

使用命令  source /etc/profile 环境变量生效

验证

使用命令 openssl version 验证openssl版本已经成功更新

最终升级结果

最终升级结果如下图所示,再次漏洞扫描,发现之前关于openssh的中高危漏洞均消除

功能验证测试

最后不要忘记退出再重新ssh连接服务器进行测试,能顺利连上没有问题才行

(文章仅供参考,生产环境请测试好之后再谨慎操作)

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

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

相关文章

fishbot随身系统安装nvidia显卡驱动

小鱼的fishbot是已经配置好的ubuntu22.04,我听说在预先配置系统时需要勾选安装第三方图形化软件,不然直接安装会有进不去图形化界面的风险,若没有勾选,建议使用其他安装方法,比如禁用系统自带的驱动那套安装流程 1.打开设置->关…

学习昇腾开发的第十天--ffmpeg推拉流

1、FFmpeg推流 注意:在推流之前先运行rtsp-simple-server(mediamtx) ./mediamtx 1.1 UDP推流 ffmpeg -re -i input.mp4 -c copy -f rtsp rtsp://127.0.0.1:8554/stream 1.2 TCP推流 ffmpeg -re -i input.mp4 -c copy -rtsp_transport t…

成为一名月薪 2 万的 web 安全工程师需要掌握哪些技能??

现在 web 安全工程师比较火,岗位比较稀缺,现在除了一些大公司对学历要求严格,其余公司看中的大部分是能力。 有个亲戚的儿子已经工作 2 年了……当初也是因为其他的行业要求比较高,所以才选择的 web 安全方向。 资料免费分享给你…

Pytorch8实现CNN卷积神经网络

CNN卷积神经网络 本章提供一个对CNN卷积网络的快速实现 全连接网络 VS 卷积网络 全连接神经网络之所以不太适合图像识别任务,主要有以下几个方面的问题: 参数数量太多 考虑一个输入10001000像素的图片(一百万像素,现在已经不能算大图了)&…

平地起高楼: 环境搭建

技术选型 本小册是采用纯前端的技术栈模拟实现小程序架构的系列文章,所以主要以前端技术栈为主,但是为了模拟一个App应用的效果,以及小程序包下载管理流程的实现,我们还是需要搭建一个基础的App应用。这里我们将选择 Tauri2.0 来…

langgraph学习2 - MCP编程

3中通信方式: 目前sse用的很少 3.开发mcp框架 主流框架2个: MCP skd 官方 Fast Mcp V2 ,(V1捐给MCP 官方) 大模型如何识别用哪个tools, 以及如何使用tools:

CSS 与 JavaScript 加载优化

📄 CSS 与 JavaScript 加载优化指南:位置、阻塞与性能 让你的网页飞起来!🚀 本文详细解析 CSS 和 JavaScript 标签的放置位置如何影响页面性能,涵盖阻塞原理、浏览器机制和最佳实践。掌握这些知识可显著提升用户体验…

WSL安装发行版上安装podman

WSL安装发行版上安装podman 1.WSL拉取发行版1.1 拉取2.2.修改系统拉取的镜像,可以加速软件包的更新 2.podman安装2.1.安装podman 容器工具2.2.配置podman的镜像仓库2.3.拉取n8n镜像并创建容器 本文在windows11上,使用WSL拉取并创建ubuntu24.04虚拟机&…

Excel 常用快捷键与对应 VBA 方法/属性清单

功能描述快捷键VBA 对应方法/属性 (核心逻辑)说明导航 (类似 End 方向键)这些是 End 键行为的直接对应向下到连续区域末尾Ctrl ↓ActiveCell.End(xlDown)从当前单元格向下,遇到第一个空单元格停止。向上到连续区域开头Ctrl ↑ActiveCell.End(xlUp)从当前单元格向上…

计算机组成原理与体系结构-实验四 微程序控制器 (Proteus 8.15)

一、实验目的 1、理解“微程序”设计思想,了解“指令-微指令-微命令”的微程序结构。 2、掌握微程序控制器的结构和设计方法。 二、实验内容 设计一个“最简版本”的 CPU 模型机:利用时序发生器来产生 CPU 的预定时序,通过微程序控制器的自…

安卓端某音乐类 APP 逆向分享(二)协议分析

以歌曲搜索协议为例,查看charles中歌曲搜索协议详情 拷贝出搜索协议的Curl形式 curl -H Host: interface3.music.xxx.com -H Cookie: EVNSM1.0.0; NMCIDoufhty.1667355455436.01.4; versioncode8008050; buildver221010200836; resolution2392x1440; deviceIdYDwXa…

七天学会SpringCloud分布式微服务——03——Nacos远程调用

1、微服务项目配置类放在地方 配置类型应放位置说明通用配置类(如:跨服务通用的拦截器、全局异常处理、统一响应体封装等)可放在一个**公共模块(common/config)**中,被各服务引入实现代码复用,…

基于Java+Spring Boot的校园闲置物品交易系统

源码编号:S561 源码名称:基于Spring Boot的校园闲置物品交易系统 用户类型:多角色,用户、商家、管理员 数据库表数量:12 张表 主要技术:Java、Vue、ElementUl 、SpringBoot、Maven 运行环境&#xff1…

SpringBoot 的 jar 包为什么可以直接运行?

一、普通jar包和SpringBoot jar包有什么区别?什么是jar包?? (1)什么是Jar包? 定义: JAR 包(Java Archive) 是 Java 平台标准的归档文件格式,用于将多个 Jav…

算法-基础算法-递归算法(Python)

文章目录 前言递归和数学归纳法递归三步走递归的注意点避免栈溢出避免重复运算 题目斐波那契数反转链表 前言 递归(Recursion):指的是一种通过重复将原问题分解为同类的子问题而解决的方法。在绝大数编程语言中,可以通过在函数中再…

TVFEMD-CPO-TCN-BiLSTM多输入单输出模型

47-TVFEMD-CPO-TCN-BiLSTM多输入单输出模型 适合单变量,多变量时间序列预测模型(可改进,加入各种优化算法) 时变滤波的经验模态分解TVFEMD时域卷积TCN双向长短期记忆网络BiLSTM时间序列预测模型 另外以及有 TCN-BILSTM …

深入浅出Node.js中间件机制

我们用一个实际的例子来看看中间件是如何运作的。假设我们有一个非常简单的Express应用,它只有两个中间件函数: const express require(express); const app express();app.use((req, res, next) > {console.log(第一个中间件);next(); });app.use…

Vue-15-前端框架Vue之应用基础编程式路由导航

文章目录 1 RouterLink的replace属性1.1 App.vue1.2 应用效果2 编程式路由导航2.1 场景一Home.vue2.2 场景二News.vue3 路由重定向3.1 index.ts3.2 Detail.vue3.3 About.vue1 RouterLink的replace属性 路由每次跳转都有记录,默认是push,可以改为replace。 RouterLink支持两…

android14 设置下连续点击5次Settings标题跳转到拨号界面

部分项目隐藏了拨号器,但开发者需要间距跳转到拨号界面 设置一级界面: packages/apps/Settings/src/com/android/settings/homepage/SettingsHomepageActivity.java 通过dispatchTouchEvent方法先获取Settings标题的区域X,Y数据。 import java.util.Set…

MP分页和连表常用写法

1. 分页查询 方案一&#xff1a;MyBatis XML MyBatis 内置的使用方式&#xff0c;步骤如下&#xff1a; ① 创建 AdminUserMapper.xml 文件&#xff0c;编写两个 SQL 查询语句&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE m…