Linux(Ubuntu)升级openssh至9.6版本

devtools/2024/11/27 8:41:16/

前言:

修复 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/devtools/137348.html

相关文章

k8s删除网络组件错误

k8s集群删除calico网络组件重新部署flannel网络组件,再部署pod后出现报错不能分配ip地址 plugin type"calico" failed (add): error getting ClusterInformation: connection is unauthorized: Unauthorized 出现该问题是因为删除网络组件后,网…

【CSP CCF记录】201712-2第12次认证 游戏

题目 样例输入1 5 2 样例输出1 3 样例输入2 7 3 样例输出2 4 代码 没有技术含量的一道题 #include<bits/stdc.h> using namespace std; int main() {int n,k;int a[1010]{0}; // 标记小朋友是否被淘汰 cin>>n>>k;int i0,num0,mn; while(m!1){i1; if(a[i]!1…

java:拆箱和装箱,缓存池概念简单介绍

1.基本数据类型及其包装类&#xff1a; 举例子&#xff1a; Integer i 10; //装箱int n i; //拆箱 概念&#xff1a; 装箱就是自动将基本数据类型转换为包装器类型&#xff1b; 拆箱就是自动将包装器类型转换为基本数据类型&#xff1b; public class Main {public s…

JavaWeb——SpringBoot原理

10.1. 配置优先级 10.1.1. 配置文件 properties > yml(推荐) > yaml 10.1.2. Java系统属性、命令行参数 命令行参数 > Java系统属性 > 配置文件 10.2. Bean管理 10.2.1. 手动获取bean ApplicationContext&#xff0c;IOC容器对象 10.2.2. bean作用域 10.2.3.…

FFN层,全称为Feed-Forward Network层;Layer Normalization;Softmax;

目录 FFN层,全称为Feed-Forward Network层 Layer Normalization 操作步骤 归一化和Softmax 归一化解决量纲问题 归一化(Normalization) Softmax FFN层,全称为Feed-Forward Network层 是Transformer架构中的一个关键组件。它本质上是一个简单的多层感知机(MLP),用…

Jmeter中的测试片段和非测试原件

1&#xff09;测试片段 1--测试片段 功能特点 重用性&#xff1a;将常用的测试元素组合成一个测试片段&#xff0c;便于在多个线程组中重用。模块化&#xff1a;提高测试计划的模块化程度&#xff0c;使测试计划更易于管理和维护。灵活性&#xff1a;可以通过模块控制器灵活地…

【k8s】资源限制管理:Namespace、Deployment与Pod的实践

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Kubernetes航线图&#xff1a;从船长到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是k8s 2、在k8s使用资源配额的作…

小杨的N字矩阵c++

题目描述 小杨想要构造一个m*m 的 N 字矩阵&#xff08; m为奇数&#xff09;&#xff0c;这个矩阵的从左上角到右下角的对角线、第1 列和第m 列都 是半角加号 &#xff0c;其余都是半角减号 - 。例如&#xff0c;一个 5*5 的 N 字矩阵如下&#xff1a; --- -- -- -- --- 请…