【Linux】环境下OpenSSH升级到 OpenSSH_9.6P1(图文教程)

漏洞描述

OpenSSH(OpenBSD Secure Shell)是加拿大OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 9.6之前版本存在安全漏洞,该漏洞源于存在操作系统命令注入漏洞。

CVE编号

CVE-2023-51385

CNNVD编号

CNNVD-202312-1665

 解决方法:升级openssh版本至9.6

操作步骤

1.查看当前服务器的openssh版本

ssh -V

2.openssh下载地址

Index of /pub/OpenBSD/OpenSSH/portable/

3.对原来的openssh备份

(1)通过whereis ssh 找到openssh的文件

(2)备份ssh和sshd文件或目录

mv /etc/ssh /etc/ssh_old.bakmv /usr/bin/ssh /usr/bin/ssh_old.bakmv /usr/bin/ssh-keygen /usr/bin/ssh-keygen_old.bakmv /usr/sbin/sshd /usr/sbin/sshd_old.bakmv /etc/pam.d/sshd.pam /etc/pam.d/sshd.pam_old.bak

4.将openssh上传并解压

tar -zxvf openssh-9.6p1.tar.gz

5.卸载原有的openssh包

此命令会将找到的openssh相关的rpm包强制删除。

rpm -e --nodeps `rpm -qa | grep openssh`

6.编译安装openssh

(1)切换到解压后的openssh目录

cd openssh-9.6p1

(2)初始化openssh
./configure --prefix=/usr/local/openssh9p6 --sysconfdir=/etc/ssh --with-pam --with-zlib

大家可以通过命令查看初始化的参数信息 ./configure --help

若出现如下错误:那我们就重新编译安装高一点版本的openssl

error: OpenSSL >= 1.1.1 required (have "100020bf (OpenSSL 1.0.2k-fips 26 Jan 2017)")

重新下载一个openssl 我选择的是openssl1.1.1d版本 ,上传到服务器之后。

1)编译安装openssl

这里是相当于重新安装的openssl,单独给安装opensshs使用。

openssl下载地址:/source/old/index.html

tar -zxvf openssl-1.1.1d.tar.gz

cd openssl-1.1.1d
 
./config --prefix=/usr/local/openssl -d shared
 
make && make install  

 2)重新初始化openssh

切换到openssh,这次我们在初始化的时候加上刚刚安装好openssl的目录。

./configure --prefix=/usr/local/openssh9p6 --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-zlib

如果安装单独的openssl之后,再执行初始化openssh命令报错 configure: error: OpenSSL headers,not found.那么openssl可能没安装成功,参考如下博客重新安装openssl并更新到系统服务中:【Linux】升级openssl版本-CSDN博客

(3)编译安装

make -j 4
make install

7.复制新的配置文件到原来目录

cp /usr/local/openssh9p6/sbin/sshd /usr/sbin/sshdcp /usr/local/openssh9p6/bin/ssh /usr/bin/sshcp /usr/local/openssh9p6/bin/ssh-keygen /usr/bin/ssh-keygencp -p contrib/redhat/sshd.init /etc/init.d/sshd 

 8.添加权限

 chmod +x /etc/init.d/sshd 

 9.修改sshd_config文件(一定)

vim  /etc/ssh/sshd_config

PermitRootLogin yes 、PubkeyAuthentication yes、PasswordAuthentication yes 将配置文件中这几个改为yes.

说明:

PermitRootLogin yes:允许root用户通过SSH登录到系统
PubkeyAuthentication yes:启用公钥身份验证
PasswordAuthentication yes:启用密码身份验证

10.开启开机自启sshd

 systemctl enable sshd

11.重启sshd 

 systemctl restart sshd

 11.验证是否成功

sshd -V 




 

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

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

相关文章

Qt5 编译 Qt Creator 源码中的 linguist 模块

文章目录 下载 Qt Creator 源码手动翻译多语言自动翻译多语言 下载 Qt Creator 源码 Github: https://github.com/qt/qttools 笔记打算用 Qt 5.12.12 来编译 qt creator-linguist 所以笔者下载的是 tag - 5.12.12 ,解压后如下,先删除多余的文件&#xf…

vue + element plus:ResizeObserver loop completed with undelivered notifications

ResizeObserver loop completed with undelivered notifications. 解释: 这个错误通常表示ResizeObserver无法在一个浏览器帧中传递所有的通知,因为它们需要的处理时间比帧的剩余时间更长。这通常发生在被观察元素的尺寸变化导致了一连串的回调函数被调…

51单片机 DS1302

DS1302 实现流程 将提供的ds1302底层参考程序拷贝到工程下 注意在ds1302.c中可能硬件引脚没有定义,注意去看一下。还有头文件什么的在ds1302中记得加上 参考代码: #include "reg52.h" #include "ds1302.h"unsigned char Write_…

深度解析SPARK的基本概念

关联阅读博客文章: 深入理解MapReduce:从Map到Reduce的工作原理解析 引言: 在当今大数据时代,数据处理和分析成为了企业发展的重要驱动力。Apache Spark作为一个快速、通用的大数据处理引擎,受到了广泛的关注和应用。…

使用QT 开发不规则窗体

使用QT 开发不规则窗体 不规则窗体贴图法的不规则窗体创建UI模板创建一个父类创建业务窗体main函数直接调用user_dialog创建QSS文件 完整的QT工程 不规则窗体 QT中开发不规则窗体有两种方法:(1)第一种方法,使用QWidget::setMask函…

缓存相关知识总结

一、缓存的作用和分类 缓存可以减少数据库的访问压力,提升整个网站的数据访问速度,改善数据库的写入性能。缓存可以分为两种: 缓存在应用服务器上的本地缓存:访问速度快,但受应用服务器内存限制 缓存在专门的分布式缓存…

【网络安全技术】——网络安全设备(学习笔记)

📖 前言:网络防火墙(简称为“防火墙”)是计算机网络安全管理中应用最早和技术发展最快的安全产品之一。随着互联应用的迅猛发展,各种安全问题和安全隐患日渐突出。防火墙及相关安全技术能够最大可能地解决各类安全问题…

官网下载IDE插件并导入IDE

官网下载IDEA插件并导入IDEA 1. 下载插件2. 导入插件 1. 下载插件 地址:https://plugins.jetbrains.com/plugin/21068-codearts-snap/versions 说明:本次演示以IDEA软件为例 操作: 等待下载完成 2. 导入插件 点击File->setting->Pl…

Oracle数据库imp文件导入失败提示:“不是有效的导出文件, 标头验证失败”解决方法

导入数据库时,直接提示不是有效的导出文件,标头验证失败 原因:这是因为导出的imp文件和你当前导入的数据库版本不一致造成的,例如:导出文件版本号12.0.1 导入数据库的版本号11.0.2,会报这个错误。 解决办法…

Node.js模块URL的使用

引入 URL 模块 要使用 URL 模块,首先需要在代码中引入它。可以使用以下代码将 URL 模块导入到你的脚本中: const url require(url);实例代码 const urlrequire(url); var apihttp://www.baidu.com?nameshixiaobin&age20; console.log(url.parse(…

RUM 最佳实践-交互延迟的探索与发现

FID 在互联网高速发展的时代,用户体验已成为企业竞争的关键所在。网页性能作为用户体验的重要组成部分,直接影响着用户的满意度和工作效率。First Input Delay(FID)作为衡量网页性能的重要指标,越来越受到业界关注。今…

迷宫 — — 蓝桥杯(动态规划)

迷宫 题目: 输入样例: 3 1 1 1 2 3 4 5 6 7 8 9 2 2 1 3 1 R输出样例: 21思路: 题目大意:给定一个n x m的平面网格,并且每一个格子都有一定的代价,并且设有障碍物和陷阱,障碍物的意…

Redux和Redux Toolkit

Redux 概念:redux是react最常用的集中状态管理工具,类似于Vue中的Pinia(vuex),可以独立于框架运行作用:通过集中管理的方式管理应用的状态 Redux快速体验 不和任何框架绑定,不使用任何构建工具,使用纯Re…

MySQL-创建和管理表:基础知识、创建和管理数据库、创建表、修改表、重命名表、删除表、清空表、拓展

创建和管理表 1. 基础知识1.1 一条数据存储的过程1.2 标识符命名规则1.3 MySQL中的数据类型 2. 创建和管理数据库2.1 创建数据库2.2 使用数据库2.3 修改数据库2.4 删除数据库 3. 创建表3.1 创建方式13.2 创建方式23.3 查看数据表结构 4. 修改表4.1 追加一个列4.2 修改一个列4.3…

mac电脑安装软件报错:无法检查更新,请检查你的互联网连接

1、点菜单栏搜索图标,输入:终端 ,找到后,点击打开 2、输入以下命令:(复制粘贴进去)回车安装 /usr/sbin/softwareupdate --install-rosetta --agree-to-license 3、提示【Install of Rosetta …

flask 访问404

当你的项目有自己的蓝图,有添加自己的前缀,也注册了蓝图。 在访问的路由那里也使用了自己的蓝图,如下图 然后你访问的地址也没问题,但是不管怎么样访问就是返回404,这个时候不要怀疑你上面的哪里配置错误,…

虚幻引擎架构自动化及蓝图编辑器高级开发进修班

课程名称:虚幻引擎架构自动化及蓝图编辑器高级开发进修班 课程介绍 大家好 我们即将推出一套课程 自动化系统开发。 自动化技术在项目开发的前中后期都大量运用。如何您是一家游戏公司,做的是网络游戏,是不是经常会遇到程序员打包加部署需…

免费的GPT-3.5 API服务aurora

什么是 aurora ? aurora 是利用免登录 ChatGPT Web 提供的无限制免费 GPT-3.5-Turbo API 的服务,支持使用 3.5 的 access 调用。 【注意】:仅 IP 属地支持免登录使用 ChatGPT的才可以使用(也可以自定义 Baseurl 来绕过限制&#x…

Flutter中间镂空的二维码扫描控件

1、UI效果图&#xff1a; 2、中间镂空UI&#xff1a; class CenterTransparentMask extends CustomClipper<Path> {final double? width;CenterTransparentMask({this.width});overridePath getClip(Size size) {final path Path()..addRect(Rect.fromLTWH(0, 0, size…

cfDNAPro|cfDNA片段数据生物学表征及可视化的R包

文章目录 前言cfDNAProdemo1.片段长度可视化2.片段长度分布比较3.可视化DNA片段模态长度4.片段化振荡模式比较5. ggplot2美化 前言 cfDNA&#xff08;无细胞DNA&#xff0c;游离DNA&#xff0c;Circulating free DNA or Cell free DNA&#xff09;是指在血液循环中存在的DNA片…