缘起

由于某个项目上甲方对服务器进行漏洞扫描,系统为:openEuler 22.03 (LTS-SP4)。提示现有OpenSSH版本存在漏洞,需要升级到openssh-9.8p1的版本(目前最新),遂有了这篇记录文章。

PS:切记!在升级SSH之前服务器上最好安装telnet或其他远程工具,以防升级失败导致无法链接上服务器。

1、检查版本

[root@localhost cyunzing]# ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1wa 16 Nov 2023

可以看到现在的OpenSSH版本是8.8p1,在漏洞包含的版本范围内,需要进行升级。

2、下载openssh源码包

编译opensssh时需要服务器上安装的openssl版本大于等于1.1.1,而从上面ssh -V的结果可以看到系统默认的OpenSSL版本就是1.1.1。所以不需要考虑升级openssl,直接升级openssh即可。

2.1、服务器不可以联网的情况

在可以链接互联网网络的电脑下载源码包,再上传到内网中的服务器。

下载地址:https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

2.2、服务器可以联网的情况

使用curl(openEuler系统最小化安装都自带了这个命令)命令下载,-o是指定下载后保存的文件名。

curl -o openssh-9.8p1.tar.gz https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

2.3、解压openssh-9.8p1.tar.gz

上面两步结合具体情况任选一种即可,这里我选的是第一种,即2.1、服务器不可以联网的情况,保存在服务器的目录地址是/root/cyunzing/updateBugs/(目录要提前创建好),然后解压进入目录。

tar zxvf openssh-9.8p1.tar.gz
cd openssh-9.8p1/

3、编译安装openssh

通过2.3、解压openssh-9.8p1.tar.gz步骤解压、cd进入openssh-9.8p1/目录后执行以下命令,检查编译环境有无问题和进行编译安装。

./configure
make -j4 && make install

4、安装完毕

重启sshd服务

这一步如果没卡住不动就是没问题了。

systemctl restart sshd

5、检查是否安装成功

新开一个远程链接窗口,执行ssh -V对比未升级前的版本信息,判断是否升级完成。

[root@localhost openssh-9.8p1]# ssh -V
OpenSSH_9.8p1, OpenSSL 1.1.1wa 16 Nov 2023

记一次在openEuler系统下离线编译升级到openssh9.8p1的更多相关文章

  1. JPEG库在Linux系统下的编译和移植【转】

    本文转载自: 这篇文章介绍了jpeg库在Linux系统下的编译和移植,经过了亲自的验证,编译首先需要准备以下资源:jpegsrc.v6b.tar.gz(jpeg库),libtool-1.5.26.ta ...

  2. python环境搭建-Linux系统下python2.7升级python3.5.2步骤

    首先Python 查看版本 , 在Linux下特别注意权限问题,创建目录时候切记给予权限 如果是 ubnutu 请使用首先切换到 sudo su , 否则 make install 会出现问题.. 升 ...

  3. PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

    (操作系统 Centos7,环境版本 php7) 01,进入到 PHP 解压后的源码包的的 ext 文件夹 02,查看是否存在 mysqli 扩展 => ls, 如果不存在需要去响应网站下载 ( ...

  4. mac系统下命令编译android ndk项目

    1.设置ndk环境变量 2.构造android ndk项目,命令:ndk-build 3.使用ant构造android sdk项目:命令:android update project -p . -n ...

  5. 在linux系统下进行pip升级注意事项

    今天鼓捣爬虫的时候需要用pip安装beautifulsoup4,但是出现了错误,说我的pip版本太低,需要升级一下.刚开始我用了下面这段代码: pip install --upgrade pip 显示 ...

  6. Ubuntu系统下Bazel编译Tensorflow环境

    编写此文主要为了介绍在Ubuntu16.04上搭建Tensorflow-lite编译环境,涉及目标硬件为Armv7架构,8核Cortex-A7. 1.开发环境介绍: OS:Ubuntu16.04 64 ...

  7. WIN10系统下静态编译Qt4.8.7

    qt-everywhere-opensource-src-4.8.7.tar.gz  http://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere- ...

  8. windows系统下npm升级的正确姿势以及原理

    本文来自网易云社区 作者:陈观喜 网上关于npm升级很多方法多种多样,但是在windows系统下不是每种方法都会正确升级.其中在windows系统下主要的升级方法有以下三种: 首先最暴力的方法删掉no ...

  9. Ubuntu 16.4系统下安装docker

    本文将介绍在ubuntu16.04系统下安装和升级docker.docker-compose.docker-machine. docker:有两个版本:docker-ce(社区版)和docker-ee ...

  10. 转:linux下安装或升级GCC4.8,以支持C++11标准

    转:http://www.cnblogs.com/lizhenghn/p/3550996.html C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言 ...

随机推荐

  1. 【Effective C++】设计与声明——reference篇

    以pass-by-reference-to-const替换pass-by-value 缺省情况下C++以by value方式传递对象至(或来自)函数.除非你另外指定,否则函数参数都是以实际实参的复件( ...

  2. containerd 源码分析:创建 container(三)

    文接 containerd 源码分析:创建 container(二) 1.2.2.2 启动 task 上节介绍了创建 task,task 创建之后将返回 response 给 ctr.接着,ctr 调 ...

  3. RabbbitMQ RabbitListener使用IP动态队列 Attribute value must be constant

    在RabbitMQ消息队列使用 @RabbitListener 接收消息,队列名称使用常量命名,但是如果使用动态队列名称,比如根据系统 ip 命名队列名称. 获取服务器 IP /** * 获取服务器i ...

  4. Redux之combineReducers方法

    Redux 提供了一个combineReducers方法,用于 Reducer 的拆分.你只要定义各个子 Reducer 函数,然后用这个方法,将它们合成一个大的 Reducer. import { ...

  5. ajax传参

          // ajax传参         // ajax传参特点:         //   1,不需要跳转         //   2,ajax传参,都是异步程序         //    ...

  6. 讲课 PPT 公开啦

    目前限于时间原因,只在 Github Pages 上托管了. 之后有时间会托管到 pythonanywhere 上,因为 Github Pages 是在太慢了.

  7. VMware搭建集群环境

    集群地址分配 名称 IP 子网掩码 网关 DNS flink01 192.168.22.211 255.255.255.0 192.168.22.2 114.114.114.114 flink02 1 ...

  8. C#.NET 保存图片时System.Runtime.InteropServices.ExternalException:“GDI+ 中发生一般性错误。”

    System.Runtime.InteropServices.ExternalException:"GDI+ 中发生一般性错误." 原因:文件夹不存在. 解决方法: if (!Di ...

  9. vue柱状图

    原型 1 <template> 2 <!-- 上下柱状图 --> 3 <div ref="overallSituation" :style=" ...

  10. recastnavigation.Sample_TempObstacles代码注解 - rcBuildHeightfieldLayers

    烘培代码在 rcBuildHeightfieldLayers 本质上是为每个tile生成高度上的不同layer 算法的关键是三层循环: for z 轴循环 for x 轴循环 for 高度span 循 ...