【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.hqwc.cn/news/615943.html

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

相关文章

Linux 系统下对于 MySQL 的初级操作

由于公司老板想把早已封存的服务器陈年老码捣鼓一下,所以找了一个外援,我则是配合提供支持。但是过程并不顺利。至少 5 年以上的间隔,导致外援查看的时候发现很多代码和配置是缺失的,目前卡在数据库部分,而我这边就帮忙…

SpringBoot编写一个SpringTask定时任务的方法

1,在启动类上添加注解 EnableScheduling//开启定时任务调度 2, 任务(方法)上也要添加注解: Scheduled(cron " 0 * * * * ? ") //每分钟执行一次 域: 秒 分 时 日 月 周 (年&#…

sparkSql join 关联机制

💐💐扫码关注公众号,回复 spark 关键字下载geekbang 原价 90 元 零基础入门 Spark 学习资料💐💐 join 实现机制 Join 有 3 种实现机制,分别是 NLJ(Nested Loop Join)、SMJ&#xf…

《QT实用小工具·二十三》 Ntp校时类

1、概述 源码放在文章末尾 该项目实现了 Ntp校时类 ,包含如下功能: 可设置Ntp服务器IP地址。 推荐用默认的阿里云时间服务器 ntp1.aliyun.com 收到时间信号发出。 时间精确到秒。 下面是demo演示: 项目部分代码如下: #if…

天猫精灵要会员,不能听歌,还能用来干什么呢?榨干它的剩余价值

目录 起因:以听歌为主要功能的设备,却不能听歌了 1.蓝牙音箱 2.控制智能家电 3.万能遥控器,需要一个外接设备 4.倒计时/提醒,闹钟提醒,整点提醒(这功能有人不喜欢,闲吵,还不能关…

C# 图形化的导航界面的设计方法

目录 一、涉及到的知识点 1、BackColor属性 2、FlatStyle属性 3、TextlmageRelation属性 4、其它共性设计 二、设计实例 1、 Resources.Designer.cs 2、Form1.Designer.cs 3、Form1.cs 4、运行结果 图形化导航用于代替文字导航,比如对Button控件 进行图形…

tableau妙用Index函数来改变数据排序

方法一:用Index函数来改变数据排序 1、打开tableau desktop使用已保存数据《示例超市数据》 2、销售额拖拽到列,区域和类别拖拽到行 3、右键参数空白处创建计算字段 4、右键刚刚创建的计算字段转换为离散 5、将新建的计算字段《排序》拖拽至行的最前面 …

分类预测 | Matlab实现基于迁移学习和GASF-CNN-Mutilhead-Attention格拉姆角场和卷积网络多头注意力机制多特征分类预测/故障识别

分类预测 | Matlab实现基于迁移学习和GASF-CNN-Mutilhead-Attention格拉姆角场和卷积网络多头注意力机制多特征分类预测/故障识别 目录 分类预测 | Matlab实现基于迁移学习和GASF-CNN-Mutilhead-Attention格拉姆角场和卷积网络多头注意力机制多特征分类预测/故障识别分类效果基…

Java基础(三)--常用工具类

文章目录 第三章、常用工具类一、Java异常1、什么是异常2、异常处理3、常见的异常类型4、throws5、throw6、自定义异常7、异常链 二、包装类1、包装类2、字符串与基本数据类型转换3、包装类的比较 三、String 类1、创建String对象的方法2、String的常用方法3、字符串的存储4、字…

SpringBoot 集成H2数据库,启动执行sql, 中文乱码

目录 H2数据库介绍 SpringBoot版本:SpringBoot 2.1.12.RELEASE 快速集成H2,maven依赖 快速集成H2,数据源及关键参数配置 spring.datasource.schema参数(建表SQL脚本) spring.datasource.data参数(更新、…

spring boot学习第十七篇:OAuth2概述及使用GitHub登录第三方网站

0. 导言 我们在浏览器上可以访问成百上千个网站,使用每个网站的服务一般都要先注册账号,那么我们为了更好地记忆,一般都会在多个网站使用相同的账号和密码进行注册。那么问题就来了,如果在你注册的网站中有某些个网站的系统设计不…

【vue3-pbstar-books】大学生前端期末作业(vue3、element-plus、ts、pinia、vite、json-server)

一、项目要求 二、项目介绍 vue3-pbstar-books是一个图书主题的pc端网站,该项目有首页、全部书籍页、书籍分类页、书籍详情页和关于页五个页面。该方案结合了 Vue3、Element-Plus、TypeScript、Pinia 和 Vite 等先进技术,实现高效的页面布局、状态管理和…