当前位置: 首页 > news >正文

升级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.lryc.cn/news/571375.html

相关文章:

  • 多组件 flask 项目
  • 数据库新选择?KingbaseES在线体验详解
  • Patch Position Embedding (PPE) 在医疗 AI 中的应用编程分析
  • 工业 AI Agent:智能化转型的核心驱动力
  • 计算机网络学习笔记:TCP流控、拥塞控制
  • taro小程序如何实现新用户引导功能?
  • 【数据结构】图论实战:DAG空间压缩术——42%存储优化实战解析
  • AI大模型初识(一):AI大模型的底层原理与技术演进
  • 数据库系统概论(二十)数据库恢复技术
  • Linux Kernel崩溃分析的法宝:Kdump+Crash(上)
  • 暴雨服务器成功中标洪湖市政府框架采购项目
  • 汽车 CDC威胁分析与风险评估
  • 解锁VSCode:从入门到精通的全攻略
  • ArcGIS Pro无插件加载(无偏移)天地图!一次添加长久使用
  • 【机器人学】2-5.七自由度机器人逆解-SRS型机器人【附MATLAB代码】
  • React19源码系列之Hooks (useEffect、useLayoutEffect、useInsertionEffect)
  • 电阻、电容、电感
  • 单片机 - STM32读取GPIO某一位时为什么不能直接与1判断为高电平?
  • 力扣面试题 17.05. 字母与数字
  • SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
  • 基于高性能的光频域反射(OFDR)分布式光纤传感解决方案
  • 爬虫技术:从基础到高级,探索数据抓取的奥秘
  • 深度融合数智化,百胜软件联合华为云加速零售行业转型升级
  • 【Manus第三篇-Prompt优化】两周实战,一套注意力视角的prompt优化框架,真的有用!
  • 【笔记】MSYS2 的 MinGW64 环境中正确安装 Python 相关环境管理工具 (Poetry、Virtualenv、Pipenv 和 UV)
  • 复现 apache HTTPD 换行解析漏洞(CVE-2017-15715)
  • ABP vNext + Sentry + ELK Stack:打造高可用异常跟踪与日志可视化平台
  • STM32的内部RC与外部晶振电路
  • python打卡day52
  • C++ 学习 多线程 2025年6月17日18:41:30