Linux(Ubuntu)升级openssh至9.6版本

news/2024/11/27 4:57:03/

前言:

修复 Openssh 命令注入漏洞(CVE-2020-15778)、OpenSSH ssh-agent远程代码执行漏洞(CVE-2023-38408)、OpenSSH 安全漏洞(CVE-2021-41617)、OpenSSH 信息泄漏漏洞 (CVE-2023-51385)将Openssh升级至9.6p1即可

升级 OpenSSH 版本需要谨慎,特别是生产环境中,卸载旧版本 SSH 可能导致远程无法连接。需要启用 Telnet 作为备用连接方式,确保系统可用性。

安装编译环境:

apt-get install build-essential -y

安装 OpenSSL

OpenSSH 需要依赖 OpenSSL 来提供加密功能,因此必须安装正确版本的 OpenSSL(在此示例中是 OpenSSL 3.2.0)。下载并安装 OpenSSL 后,编译 OpenSSH 时会链接到该版本的 OpenSSL 以确保加密功能正常。 https://www.openssl.org/source/openssl-3.2.0.tar.gz如果下载不下来可以选择我这个上传至服务器 openssl-3.2.0.tar.gz提取码:OP21

cd
wget --no-check-certificate https://www.openssl.org/source/openssl-3.2.0.tar.gz
tar -zxvf openssl-3.2.0.tar.gz
cd openssl-3.2.0/
./config --prefix=/usr/local/openssl shared
make
make install

创建软链接确保 OpenSSL 可用

ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib/
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib/#查看一下版本确保可用
/usr/local/openssl/bin/openssl version

安装 Zlib

OpenSSH 使用 Zlib 来压缩 SSH 数据流,依赖它来实现数据的压缩和解压缩,从而提高网络传输效率。

cd 
wget --no-check-certificate http://www.zlib.net/zlib-1.3.1.tar.gz
tar -zxvf zlib-1.3.1.tar.gz
cd zlib-1.3.1/
./configure --prefix=/usr/local/zlib
make
make install#安装 Zlib 库的开发包
apt-get -y install libz-dev

下载 OpenSSH 9.6 

如果下载不了可以选择下载这个上传至服务器OpenSSH 9.6p1提取码:OP21

wget --no-check-certificate https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz

这里使用脚本安装,避免出现卸载旧版本后直接无法和服务器连接的情况

#!/bin/bash# 卸载旧版本 OpenSSH
echo "正在卸载旧版本 OpenSSH..."
apt-get purge --remove "openssh*" -y
killall sshd# 备份旧配置
echo "正在备份 SSH 配置..."
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp -r /etc/ssh /etc/ssh_backup/# 下载 OpenSSH 源码并编译
#创建一个名为 sshd 的用户,用于分离特权操作。
echo "sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin" >> /etc/passwd
echo "下载并安装 OpenSSH..."
#如果上面下载了就给这个下载注释带掉,建议提前下载好
#wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz
tar -zxvf openssh-9.6p1.tar.gz
cd openssh-9.6p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib-dir=/usr/local/zlib --without-openssl-header-check
make && make install# 配置 root 登录权限
echo "配置允许 root 登录..."
echo "PermitRootLogin yes" >> /etc/ssh/sshd_configecho "手动启动 OpenSSH 服务..."
/usr/local/openssh/sbin/sshd

把新的ssh注册为服务

# 配置系统服务
echo "配置 SSH 为系统服务..."
echo "[Unit]
Description=OpenSSH serve
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target[Service]
ExecStart=/usr/local/openssh/sbin/sshd[Install]
WantedBy=multi-user.targe" > /lib/systemd/system/sshd.service# 重新加载并启动服务
echo "重新加载系统服务并启动 SSH..."
systemctl daemon-reload
systemctl start sshd
systemctl enable sshd


http://www.ppmy.cn/news/1550247.html

相关文章

16. 【.NET 8 实战--孢子记账--从单体到微服务】--汇率获取定时器

这篇文章我们将一起编写这个系列专栏中第一个和外部系统交互的功能:获取每日汇率。下面我们一起来编写代码吧。 一、需求 根据文章标题可知,在这片文章中我们只进行汇率的获取和写入数据库。 编号需求说明1获取每日汇率1. 从第三方汇率API中获取汇率信…

小程序-基于java+SpringBoot+Vue的美食推荐系统设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

PyQt5安装使用教程

目录 一、工具二、安装PyQt5三、pycharm配置3.1 配置QtDesigner3.2 PyUIC配置3.3 Pyrcc配置3.4 配置成功效果图 四、使用方法4.2 QTDesigner使用方法4.2 PyUIC使用方法 调用自定义布局py文件 一、工具 1、python 2、pycharm 3、PyQt5模块 二、安装PyQt5 1、安装pyqt5 pip i…

pytorch3d linux安装

目录 测试成功2024.11.21: 测试成功2024.11.21: python3.10 GitHub - facebookresearch/pytorch3d: PyTorch3D is FAIRs library of reusable components for deep learning with 3D data 安装脚本: cd pytorch3d && pip install…

论文阅读:A Software Platform for Manipulating theCamera Imaging Pipeline

论文代码开源链接: A Software Platform for Manipulating the Camera Imaging Pipelinehttps://karaimer.github.io/camera-pipeline/摘要:论文提出了一个Pipline软件平台,可以方便地访问相机成像Pipline的每个阶段。该软件允许修改单个模块…

C# .net core web 程序远程调试

如果有两个同一个web的程序池,附加进程的时候就有两个选择。

vue3 reactive响应式实现源码

Vue 3 的 reactive 是基于 JavaScript 的 Proxy 实现的,因此它通过代理机制来拦截对象的操作,从而实现响应式数据的追踪。下面是 Vue 3 的 reactive 源码简化版。 Vue 3 reactive 源码简化版 首先,我们需要了解 reactive 是如何工作的&…

面试干货:软件测试常见面试题(附答案)

1、文档测试主要包含什么内容? 参考答案: 在国内软件开发管理中,文档管理几乎是最弱的一项,因而在测试工作中特别容易忽略文档测试也就不足为奇了。要想给用户提供完整的产品,文档测试是必不可少的。文档测试一般注重下面几个方…