升级OpenSSL和OpenSSH 修复漏洞

升级OpenSSL和OpenSSH

目前版本OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

升级到OpenSSH_9.8p1, OpenSSL 1.1.1u 30 May 2023

服务器CentOS Linux release 7.6.1810 (Core)

一、升级OpenSSL到1.1.1u
  1. 下载并编译 OpenSSL(推荐目录 /usr/local/openssl

    wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz
    tar zxvf openssl-1.1.1u.tar.gz
    cd openssl-1.1.1u./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
    make -j$(nproc)
    make install
    
  2. 设置 OpenSSL 环境变量

    echo "/usr/local/openssl/lib" > /etc/ld.so.conf.d/openssl.conf
    ldconfigexport PATH=/usr/local/openssl/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/openssl/lib
    

    vim /etc/profile 追加下边两行,避免重启后失效。

    export PATH=/usr/local/openssl/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/openssl/lib
    

    source /etc/profile

  3. 验证 OpenSSL 是否生效

    openssl version
    
    OpenSSL 1.1.1u  30 May 2023
    
二、升级OpenSSH到9.8p1
  1. 安装依赖

    yum groupinstall -y "Development Tools"
    yum install -y wget pam-devel zlib-devel openssl-devel
    
  2. 下载并准备 OpenSSH 9.8p1

    wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
    tar -zxvf openssh-9.8p1.tar.gz
    cd openssh-9.8p1
    
  3. 备份旧 SSHD

    cp /usr/sbin/sshd /usr/sbin/sshd.bak.$(date +%F-%H-%M-%S)
    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F-%H-%M-%S)
    
  4. 配置并编译安装 OpenSSH 9.8p1(指定新版 OpenSSL 路径)

    ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-ssl-dir=/usr/local/openssl
    make -j$(nproc)
    make install
    
  5. 设置 sshd 服务(如无 systemd 单元文件)

    if [ ! -f /usr/lib/systemd/system/sshd.service ]; thencp contrib/redhat/sshd.init /etc/init.d/sshdchmod +x /etc/init.d/sshdsystemctl daemon-reexecsystemctl daemon-reloadsystemctl enable sshd
    fi
    
  6. 重启 SSH 服务并验证版本

    安全提示(强烈建议)

    在你执行 systemctl restart sshd 之前:

    • 开两个 SSH 会话,防止断连;
    • 设置自动回滚任务(如果失败自动恢复旧版本):
    echo "cp /usr/sbin/sshd.bak* /usr/sbin/sshd && systemctl restart sshd" | at now + 5 minutes
    
    systemctl restart sshd
    /usr/sbin/sshd -V
    
    OpenSSH_10.0p1, OpenSSL 1.1.1u ...
    
三、解决yum install -y wget pam-devel zlib-devel openssl-devel下载失败问题

在可以正常执行 yum install -y wget pam-devel zlib-devel openssl-devel的服务器执行下列命令

  1. 安装 yum-utils(包含 yumdownloader
yum install -y yum-utils
  1. 创建存放 RPM 的目录并下载所有依赖包

    mkdir -p /tmp/rpms
    cd /tmp/rpms
    yumdownloader --resolve wget pam-devel zlib-devel openssl-devel
    
  2. 检查下载的 RPM 文件

    ls -l /tmp/rpms/*.rpm
    
    -rw-r--r-- 1 root root  1582172 Jun 17 16:17 openssl-devel-1.0.2k-26.el7_9.i686.rpm
    -rw-r--r-- 1 root root  1582400 Jun 17 16:17 openssl-devel-1.0.2k-26.el7_9.x86_64.rpm
    -rw-r--r-- 1 root root  1021796 Jun 17 16:17 openssl-libs-1.0.2k-26.el7_9.i686.rpm
    -rw-r--r-- 1 root root   736976 Jun 17 16:17 pam-1.1.8-23.el7.i686.rpm
    -rw-r--r-- 1 root root   189152 Jun 17 16:17 pam-devel-1.1.8-23.el7.i686.rpm
    -rw-r--r-- 1 root root   189124 Jun 17 16:17 pam-devel-1.1.8-23.el7.x86_64.rpm
    -rw-r--r-- 1 root root   430428 Jun 17 16:17 pcre-8.32-17.el7.i686.rpm
    -rw-r--r-- 1 root root   560272 Jun 17 16:17 wget-1.14-18.el7_6.1.x86_64.rpm
    -rw-r--r-- 1 root root    93224 Jun 17 16:17 zlib-1.2.7-21.el7_9.i686.rpm
    -rw-r--r-- 1 root root    51524 Jun 17 16:17 zlib-devel-1.2.7-21.el7_9.i686.rpm
    -rw-r--r-- 1 root root    51488 Jun 17 16:17 zlib-devel-1.2.7-21.el7_9.x86_64.rpm
    ......
    
  3. 将 RPM 包复制到目标服务器

    scp -r /tmp/rpms root@目标服务器IP:/tmp/
    
  4. 在目标服务器上手动安装

    cd /tmp/rpms
    rpm -ivh *.rpm --nodeps --force
    
四、OpenSSH make install 报如下错误
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for '/etc/ssh/ssh_host_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Unable to load host key "/etc/ssh/ssh_host_rsa_key": bad permissions
Unable to load host key: /etc/ssh/ssh_host_rsa_key
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Unable to load host key "/etc/ssh/ssh_host_ecdsa_key": bad permissions
Unable to load host key: /etc/ssh/ssh_host_ecdsa_key
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Unable to load host key "/etc/ssh/ssh_host_ed25519_key": bad permissions
Unable to load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
make: [Makefile:396: check-config] Error 1 (ignored)

解决方案:修复私钥权限

chmod 600 /etc/ssh/ssh_host_*_key

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

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

相关文章

JavaSE - Object 类详细讲解

定义 是所有类的直接或者间接父类,是 Java 中唯一一个没有父类的类。其中所有的方法都是可以被子类继承的。 常用方法 equals方法: 比较两个对象引用的地址值是否相同,默认情况下是使用 “” 进行比较,但是这个方法一般会被之类…

观远ChatBI|让数据分析像聊天一样简单

BI通过收集、整合和分析企业内部的各种数据,帮助企业发现数据中的模式和趋势,从而做出更明智的商业决策,以此来提升企业的经营能力和竞争力。无论是传统BI还是自助BI,都是为了在数据和人之间建立一座桥梁,使数据能够被…

Go语言同步原语与数据竞争:WaitGroup

在Go语言并发编程中,我们经常需要等待多个 goroutine 执行完毕后再继续下一步操作。Go 提供的 sync.WaitGroup 就是专为这种**“等待一组任务完成”**而设计的同步原语。 一、基本原理 sync.WaitGroup 提供三个主要方法: 方法说明Add(n int)设置等待的…

Java单体架构 vs 分布式架构

Java单体架构 vs 分布式架构 在电商系统开发中,当用户量从几百激增到百万级,你的架构是否还能从容应对?一次代码更新是否意味着整个系统停机?今天我们就来拆解Java架构设计的核心命题:单体还是分布式? 一、…

day40- 硬件学习之 51单片机II (中断处理)

一、独立按键的使用 main.c key.c key.h 二、中断处理 2.1 定义 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。 当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以…

机器学习:开启智能时代的大门

一、引言 机器学习(Machine Learning)正成为人工智能的核心技术。从 Netflix 推荐电影,到银行识别欺诈交易,机器学习正在逐渐改变世界。本篇文章将从理论到实操全面介绍机器学习的基础概念,并附有代码和案例。 二、什…

几个重要的行列式 线性代数

目录 1.主(副)对角线行列式 2 拉普拉斯展开式 3 范德蒙德行列式 对于行列式的计算来说,一般给出的行列式我们都要对其进行化简,但是化简到什么程度就可以了呢? 这就是本篇的用处,一般给出的行列式化简的…

答辩讲解387基于Spring Boot的心理健康管理系统

摘 要 视频地址 答辩讲解387基于Spring Boot的心理健康管理系统_哔哩哔哩_bilibili 自改革开放政策施行以来,我国经济持续保持快速增长态势,国民生活水平得到了明显提升,然而近些年来,经济增速出现放缓,再加上疫情等…

使用WinUSB读写USB设备

参考:使用WinUSB读写USB设备 - USB中文网

DECOUPLING REPRESENTATION AND CLASSIFIER FOR LONG-TAILED RECOGNITION

摘要 在本文中,我们将学习过程解耦为表征学习和分类,系统地探究不同的平衡策略如何对长尾识别产生影响。研究结果令人惊讶:(1)数据不平衡在学习高质量表征时可能并非问题;(2)通过最…

如何使用joomla5缓存来加速网页加载速度

Joomla 有多种缓存“内容”的方式。我们将以两个角色来介绍和使用缓存,在这篇将以普通管理员的视角来概述——缓存什么、在哪里缓存以及何时缓存。 什么是Joomla 缓存cacha 作为管理员,Joomla 为您提供了缓存网站内容的能力。您可以选择缓存整个网页或…

《我们的十年》电影联合品宣品牌白碧美:自然与科技共融

破界新生,定义东方美肤高度 湖南白碧美生物科技有限公司,扎根中国创新活力之都——星城长沙,是以“科技赋能美肤”为核心的高端轻奢护肤品牌。秉承“自然与科技共融”的品牌哲学,白碧美将千年东方草本植萃智慧与现代尖端生物科技…

B树与B+树:数据库索引背后的秘密

B-tree(B树)和Btree(B树)是两种高效的多叉树数据结构,专为磁盘存储系统优化设计,广泛应用于数据库和文件系统的索引。以下是两者的核心特点及区别: ⚙️ 一、B-tree(B树)…

欧洲宇航局如何为航天员提供虚拟现实训练内容

通过身临其境的模拟,宇航员可以完善他们在太空行走中执行的每一个动作,以确保更好地准备前往国际空间站、月球和其他地方执行任务。 VR/XR技术在宇航员训练中的优势: 提高安全性:复杂或危险程序的无风险实践 成本和资源节约:减少对实体模型、…

打卡Day53

知识点: 1.对抗生成网络的思想:关注损失从何而来 2.生成器、判别器 3.nn.sequential容器:适合于按顺序运算的情况,简化前向传播写法 4.leakyReLU介绍:避免relu的神经元失活现象 ps:如果你学有余力&#xf…

【Three.js】机器人管线包模拟

机器人管线包模拟 背景技术选型效果视频效果截图 最近在工业数字化项目中尝试用Three.js实现了一个机器人管线包的3D可视化模拟系统,记录一下开发过程和技术要点,希望能给同样在探索Web3D技术的同学一些灵感。 背景 管线包(Dress Pack&…

微軟將開始使用 Copilot Vision 監控 Windows 10 和 11 用戶的螢幕

這對於提供幫助是必要的,美國用戶已經可以欣賞這項創新。 微軟為其AI助理Copilot添加了新的Vision功能,使其能夠即時分析用戶螢幕上發生的事情並幫助解決當前的問題。 根據該公司介紹,Copilot Vision 能夠捕捉使用者所見內容,並可…

多模态大语言模型arxiv论文略读(123)

Enhancing Advanced Visual Reasoning Ability of Large Language Models ➡️ 论文标题:Enhancing Advanced Visual Reasoning Ability of Large Language Models ➡️ 论文作者:Zhiyuan Li, Dongnan Liu, Chaoyi Zhang, Heng Wang, Tengfei Xue, Weid…

【linux】Linux vs Android

文章目录 1、联系2、区别3、核心差异4、应用场景对比5、未来发展趋势6、参考附录——GNU 都说Android就是个装了UI的Linux,可到底和Linux有什么关系呢? 1、联系 内核基础 共享Linux内核:安卓基于Linux内核构建,继承了Linux的进程…

台积电(TSMC)工艺库命名规则

以标准单元库tcb_n12ffcll_bwp_6t_20_p96_cpd_lvt_tt0p8v25c_hm_lvf_p_ccs举例说明台积电工艺库命名规则。 文件名分段解析 字段含义补充说明tcbTSMC标准单元库(TCBN = TSMC Cell Library, Base Node)通常用于标识基础标准单元库,区别于IO库(tciobn)或模拟库(tcap)。n1…