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

手把手教你用yum在openEuler上安全升级OpenSSH 10.0p1(附完整命令集)

手把手教你用yum在openEuler上安全升级OpenSSH 10.0p1附完整命令集最近在维护openEuler服务器时发现系统自带的OpenSSH版本存在一些已知的安全漏洞。作为系统管理员我深知SSH服务的安全性直接关系到整个服务器的访问安全。经过多次实践我总结出一套在openEuler系统上使用yum命令安全升级OpenSSH到10.0p1版本的完整方案特别适合刚接触openEuler的开发者或系统管理员参考使用。1. 升级前的准备工作在开始升级之前我们需要做好充分的准备工作这可以避免很多潜在的问题。首先确认你的openEuler系统版本cat /etc/os-release典型的输出可能如下NAMEopenEuler VERSION24.03 (LTS-SP2) IDopenEuler VERSION_ID24.03 PRETTY_NAMEopenEuler 24.03 (LTS-SP2)接下来检查当前系统中安装的OpenSSH和OpenSSL版本ssh -V输出示例OpenSSH_9.6p1, OpenSSL 3.0.12 24 Oct 2023重要准备工作清单确保你有root权限或sudo权限备份重要的SSH配置文件/etc/ssh/sshd_config准备一个备用连接方式如控制台访问以防SSH升级失败检查系统磁盘空间至少需要500MB空闲空间提示建议在系统负载较低的时段进行升级操作避免影响正常服务。2. 解决潜在的兼容性问题在openEuler上升级OpenSSH可能会遇到一些特有的兼容性问题这里我分享几个实际遇到的坑和解决方案。2.1 SELinux权限问题升级后重启sshd服务时可能会遇到/bin/bash权限不足的错误。这是因为SELinux的安全策略导致的。解决方法vi /etc/selinux/config将SELINUXenforcing修改为SELINUXdisabled然后重启系统使更改生效。2.2 OpenSSL兼容性问题如果你同时升级了OpenSSL可能会遇到yum命令无法使用的问题错误信息类似ImportError: /usr/lib64/libldap.so.2:undefined symbol: EVP_md2, version OPENSSL_3.0.0解决方案有两种方案一临时取消新版本引用unset LD_LIBRARY_PATH方案二保持OpenSSL版本不变 openEuler 24.03自带的OpenSSL 3.0.12已经足够新不建议升级到3.4.x版本只需升级OpenSSH即可。3. 安装必要依赖在开始编译安装OpenSSH之前我们需要确保系统已安装所有必要的依赖包yum install openssl-devel gcc pam-devel zlib-devel -y这个命令会安装openssl-develOpenSSL开发库gccGNU编译器集合pam-develPAM可插拔认证模块开发文件zlib-develzlib压缩库开发文件安装完成后建议验证一下这些包是否安装成功rpm -q openssl-devel gcc pam-devel zlib-devel4. 编译安装OpenSSH 10.0p1现在我们可以开始编译安装OpenSSH 10.0p1了。首先下载源代码包wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.0p1.tar.gz tar -xzf openssh-10.0p1.tar.gz cd openssh-10.0p1接下来是关键的配置步骤。我推荐使用以下配置参数./configure \ --prefix/usr/local/openssh-10.0p1 \ --sysconfdir/etc/ssh \ --with-pam \ --with-ssl-dir/usr \ --with-zlib/usr \ --without-hardening配置参数说明参数说明--prefix指定安装目录--sysconfdir指定配置文件目录--with-pam启用PAM支持--with-ssl-dir指定OpenSSL库位置--with-zlib指定zlib库位置--without-hardening禁用某些安全强化选项避免兼容性问题配置完成后开始编译和安装make make install这个过程可能需要几分钟时间取决于你的系统性能。5. 配置和权限设置安装完成后需要进行一些必要的配置和权限设置。首先确保关键文件的权限正确chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key然后编辑SSH配置文件注释掉一些可能引起问题的选项vi /etc/ssh/sshd_config找到以下两行并注释掉#GSSAPIAuthentication yes #GSSAPICleanupCredentials no接下来我们需要创建符号链接将新安装的OpenSSH二进制文件链接到系统路径ln -sf /usr/local/openssh-10.0p1/bin/scp /usr/bin/scp ln -sf /usr/local/openssh-10.0p1/bin/sftp /usr/bin/sftp ln -sf /usr/local/openssh-10.0p1/bin/ssh /usr/bin/ssh ln -sf /usr/local/openssh-10.0p1/bin/ssh-add /usr/bin/ssh-add ln -sf /usr/local/openssh-10.0p1/bin/ssh-agent /usr/bin/ssh-agent ln -sf /usr/local/openssh-10.0p1/bin/ssh-keygen /usr/bin/ssh-keygen ln -sf /usr/local/openssh-10.0p1/bin/ssh-keyscan /usr/bin/ssh-keyscan ln -sf /usr/local/openssh-10.0p1/sbin/sshd /usr/sbin/sshd6. 重启服务和验证所有配置完成后重启SSH服务systemctl restart sshd为了确保升级成功我们需要进行验证ssh -V应该看到类似输出OpenSSH_10.0p1, OpenSSL 3.0.12 24 Oct 2023同时尝试从另一台机器SSH连接到服务器确认连接正常。7. 完整命令集合为了便于参考以下是整个升级过程的完整命令集合# 准备工作 cat /etc/os-release ssh -V vi /etc/selinux/config # 设置SELINUXdisabled # 安装依赖 yum install openssl-devel gcc pam-devel zlib-devel -y # 下载并解压OpenSSH wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.0p1.tar.gz tar -xzf openssh-10.0p1.tar.gz cd openssh-10.0p1 # 配置和编译 ./configure --prefix/usr/local/openssh-10.0p1 --sysconfdir/etc/ssh --with-pam --with-ssl-dir/usr --with-zlib/usr --without-hardening make make install # 权限设置 chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key # 配置调整 vi /etc/ssh/sshd_config # 注释掉GSSAPI相关选项 # 创建符号链接 ln -sf /usr/local/openssh-10.0p1/bin/scp /usr/bin/scp ln -sf /usr/local/openssh-10.0p1/bin/sftp /usr/bin/sftp ln -sf /usr/local/openssh-10.0p1/bin/ssh /usr/bin/ssh ln -sf /usr/local/openssh-10.0p1/bin/ssh-add /usr/bin/ssh-add ln -sf /usr/local/openssh-10.0p1/bin/ssh-agent /usr/bin/ssh-agent ln -sf /usr/local/openssh-10.0p1/bin/ssh-keygen /usr/bin/ssh-keygen ln -sf /usr/local/openssh-10.0p1/bin/ssh-keyscan /usr/bin/ssh-keyscan ln -sf /usr/local/openssh-10.0p1/sbin/sshd /usr/sbin/sshd # 重启服务 systemctl restart sshd # 验证 ssh -V在实际操作中我发现如果在升级过程中遇到问题最有效的方法是仔细检查每一步的输出信息特别是configure和make阶段的错误提示。大多数问题都可以通过安装缺失的依赖包或调整配置参数来解决。

相关文章:

手把手教你用yum在openEuler上安全升级OpenSSH 10.0p1(附完整命令集)

手把手教你用yum在openEuler上安全升级OpenSSH 10.0p1(附完整命令集) 最近在维护openEuler服务器时,发现系统自带的OpenSSH版本存在一些已知的安全漏洞。作为系统管理员,我深知SSH服务的安全性直接关系到整个服务器的访问安全。经…...

华为路由器帧中继配置实战:Hub-and-Spoke模式下RIP与OSPF的坑我都踩过了

华为路由器帧中继配置实战:Hub-and-Spoke模式下RIP与OSPF的坑我都踩过了 在企业级网络部署中,帧中继技术虽然逐渐被MPLS等新技术取代,但在某些特定场景下仍然是不可或缺的解决方案。特别是在Hub-and-Spoke拓扑结构中,帧中继的配置…...

WuliArt Qwen-Image Turbo显存优化部署:VAE分块编码+CPU卸载实测报告

WuliArt Qwen-Image Turbo显存优化部署:VAE分块编码CPU卸载实测报告 1. 引言:当高清文生图遇上个人显卡 如果你尝试过在个人电脑上运行最新的文生图模型,大概率会遇到一个头疼的问题:显存爆炸。动辄需要40G、80G显存的模型&…...

TeslaMate容器日志导出:保存与分析历史记录的实用命令

TeslaMate容器日志导出:保存与分析历史记录的实用命令 【免费下载链接】teslamate 项目地址: https://gitcode.com/gh_mirrors/tes/teslamate TeslaMate是一款功能强大的自托管Tesla车辆数据记录器,通过Docker容器部署,能够持续监控和…...

Qt 6.4 + Limereport 1.7.9 实战:5分钟搞定动态报表生成(附Python绑定教程)

Qt 6.4 Limereport 1.7.9 实战:Python绑定下的动态报表生成指南 在数据处理和业务系统开发中,报表生成是一个永恒的需求。传统方案往往需要依赖复杂的商业软件或繁琐的手动操作,而Qt与Limereport的组合为开发者提供了一条高效路径。本文将聚…...

Pixel Mind Decoder 安全与隐私考量:处理用户文本数据的合规性指南

Pixel Mind Decoder 安全与隐私考量:处理用户文本数据的合规性指南 1. 为什么数据安全与隐私如此重要 想象一下,你正在开发一款情绪分析应用,能够通过分析用户输入的文本内容来判断他们的情绪状态。这个功能听起来很酷,但背后隐…...

Clappr流媒体支持:HLS、DASH等格式完全指南

Clappr流媒体支持:HLS、DASH等格式完全指南 【免费下载链接】clappr :clapper: An extensible media player for the web. 项目地址: https://gitcode.com/gh_mirrors/cl/clappr Clappr是一款功能强大的Web媒体播放器,以其高度可扩展性和对多种流…...

FUTURE POLICE模型API网络安全防护配置指南

FUTURE POLICE模型API网络安全防护配置指南 最近在帮一个朋友部署他们团队的FUTURE POLICE模型服务,准备对外提供API。部署本身挺顺利,但聊到安全防护时,我发现他们想得有点简单了——直接把服务端口暴露在公网上,觉得有个密码登…...

#AI原生安全,全球首个软件供应链安全开源社区OpenSCA

在“软件定义万物”的时代,软件供应链开源化使得各个环节不可避免地受到开源应用的影响,尤其是开源应用的安全性,将直接影响软件供应链的安全性。除开源应用开发者在开发过程中无意识地引入的安全缺陷之外,还可能会存在开发者有目…...

基于C++高性能调用EasyAnimateV5-7b-zh-InP核心引擎

基于C高性能调用EasyAnimateV5-7b-zh-InP核心引擎 1. 引言 想象一下这样的场景:你有一个电商平台,每天需要处理成千上万的商品图片。如果能让这些静态的商品图"动起来",变成几秒钟的展示视频,转化率会提升多少&#x…...

造相-Z-Image-Turbo亚洲美女LoRA案例:教育课件插图/医疗科普配图/法律文书图解

造相-Z-Image-Turbo亚洲美女LoRA案例:教育课件插图/医疗科普配图/法律文书图解 1. 项目概述 造相-Z-Image-Turbo 亚洲美女LoRA是一个基于Z-Image-Turbo模型的图片生成Web服务,专门针对亚洲女性形象生成进行了优化。该项目新增了对LoRA模型laonansheng/…...

#AI原生安全,软件供应链安全策略与选型,开发者的最佳选择

随着数字化转型进入深水区,容器、中间件、微服务、DevOps等新技术的演进,数字供应链愈发复杂,全链路安全防护难度不断加大。悬镜安全子芽带领公司安全团队攻坚克难近十年,在业界定义了代码疫苗技术,完成代码疫苗技术在…...

使用 VSCode 接入 DeepSeek V3 平替 Cursor 与 Trae 的 AI 编程方案

在深入体验 AI 编程的这几天里,我深刻感受到,程序员们完全可以借助 AI 的力量来提升工作效率,节省脑力。 平时需要一天完成的工作量,现在半天都不用就做完了,在做逻辑比较能用简单的事(前端、脚本或者后端…...

STM32与淘晶驰串口屏通信:如何正确使用转义字符避免txt控件显示问题

STM32与淘晶驰串口屏通信:转义字符应用全解析与实战避坑指南 在嵌入式系统开发中,人机交互界面(HMI)的设计往往决定着产品的用户体验。淘晶驰串口屏以其易用性和性价比,成为众多STM32开发者的首选。然而,当开发者尝试将动态数据发…...

告别输入法乱码!ArchLinux + GNOME 桌面下 Fcitx5 的保姆级配置与美化全攻略

ArchLinux GNOME 桌面下 Fcitx5 输入法的终极配置与视觉优化指南 在 Linux 桌面环境中配置中文输入法一直是许多用户的痛点,尤其是对于 ArchLinux 这样需要手动配置的发行版。本文将带你从零开始,在 GNOME 桌面环境下打造一个既稳定又美观的 Fcitx5 输入…...

3GPP会议提案追踪指南:如何快速找到RAN工作组的最新讨论内容?

3GPP会议提案追踪实战指南:从文档架构到高效检索 在移动通信标准制定的浩瀚海洋中,3GPP的会议提案就像是一座座灯塔,指引着技术演进的方向。作为一名经常需要追踪RAN工作组最新讨论内容的通信工程师,我深刻体会到快速定位关键提案…...

学习记录:从零开始学AI(四)——Scikit-learn加州房价机器学习例子学习笔记-在此基础上更换自己的数据集

后记:之前一直以为用的是TensorFlow,原来我用的是 Scikit-learn。两者都可以实现机器学习。前者更适合实现深度神经网络。更正题目。 2025.04.22 加州房价机器学习例子已经调通,下一步更换自己的数据集。数据集先随便构建吧,不是真实的,后续再更换真实的。 加州房价数据…...

高性能字体处理架构设计:FontTools 4.62.2版本深度解析与最佳实践

高性能字体处理架构设计:FontTools 4.62.2版本深度解析与最佳实践 【免费下载链接】fonttools A library to manipulate font files from Python. 项目地址: https://gitcode.com/gh_mirrors/fo/fonttools FontTools是一个用于操作字体文件的强大Python库&am…...

Deepfake Offensive Toolkit开源项目年度财务报告:收支与预算

Deepfake Offensive Toolkit开源项目年度财务报告:收支与预算 【免费下载链接】dot The Deepfake Offensive Toolkit 项目地址: https://gitcode.com/gh_mirrors/dot/dot Deepfake Offensive Toolkit(简称dot)作为一款专注于实时深度伪…...

RexUniNLU模型量化实战:FP16与INT8精度对比

RexUniNLU模型量化实战:FP16与INT8精度对比 想用大模型做点实际项目,但一看显存占用就头疼?这大概是很多开发者入门AI时的第一道坎。模型是好模型,功能也强大,但动辄几十GB的显存需求,直接把个人电脑和普通…...

ESP8266电压检测避坑指南:如何解决WiFi干扰导致的ADC读数不准问题

ESP8266电压检测避坑指南:如何解决WiFi干扰导致的ADC读数不准问题 在物联网设备开发中,ESP8266因其高性价比和内置WiFi功能而广受欢迎。然而,许多开发者在使用其内置ADC进行电压检测时,都会遇到一个令人头疼的问题——WiFi模块工作…...

Datashader 大规模数据可视化流水线:从海量数据到高清图像的完整指南

Datashader 大规模数据可视化流水线:从海量数据到高清图像的完整指南 【免费下载链接】datashader Quickly and accurately render even the largest data. 项目地址: https://gitcode.com/gh_mirrors/da/datashader 在数据科学和可视化领域,处理…...

毕业论文神器!全行业通用降AI率平台 千笔·专业降AI率智能体 VS Checkjie

在AI技术不断渗透学术写作领域的今天,越来越多的学生、研究人员和职场人士开始借助AI工具提升论文写作效率。然而,随着查重系统对AI生成内容的识别能力不断增强,AI率超标问题逐渐成为学术道路上的“隐形炸弹”。无论是知网、维普还是Turnitin…...

当面对ADHD,如何有效处理冲动行为和社交技能缺乏?

多动症表现及特点深入分析与解析 多动症(ADHD)主要表现为多动症表现和注意力不集中。儿童常常难以保持安静,表现出过度活动和冲动行为,缺乏耐心。在课堂上,他们可能无法专注于老师的讲解,常常会中断他人或随…...

5分钟体验OpenClaw:星图平台Qwen3-32B镜像快速部署

5分钟体验OpenClaw:星图平台Qwen3-32B镜像快速部署 1. 为什么选择星图平台体验OpenClaw 第一次接触OpenClaw时,我花了整整一个下午在本地环境折腾依赖项和配置。直到发现星图平台的Qwen3-32B预装镜像,才意识到原来体验AI智能体可以如此简单…...

ESP32物联网服务器实战:手把手教你内嵌HTML页面(附完整代码)

ESP32物联网服务器实战:从零构建内嵌HTML的智能终端 想象一下,你正在开发一个智能家居控制系统,需要让用户通过手机浏览器就能随时查看和控制家中的设备状态。ESP32作为一款性价比极高的物联网芯片,配合内嵌HTML页面的Web服务器功…...

Vite开发环境跨域代理配置全攻略:从零配置到实战避坑

Vite开发环境跨域代理配置全攻略:从零配置到实战避坑 跨域问题一直是前端开发中的常见痛点,尤其是在前后端分离的开发模式下。Vite作为新一代前端构建工具,其开发服务器提供了简洁高效的代理配置方案,能够轻松解决开发环境下的跨域…...

Janus-Pro-7B模型部署避坑指南:解决403 Forbidden等常见网络错误

Janus-Pro-7B模型部署避坑指南:解决403 Forbidden等常见网络错误 你是不是也遇到过这种情况?好不容易把Janus-Pro-7B模型部署起来,满心欢喜地准备调用,结果浏览器或者命令行里弹出一个冷冰冰的“403 Forbidden”,瞬间…...

EVA-02赋能计算机组成原理教学:自动生成习题与解析

EVA-02赋能计算机组成原理教学:自动生成习题与解析 备课、出题、批改作业,这大概是所有理工科老师都绕不开的“三座大山”。尤其是像计算机组成原理这样的硬核课程,知识点抽象,题型复杂,光是设计一道能考察学生真实理…...

DIY红外遥控接收器:从HS0038引脚到完整电路搭建实战

DIY红外遥控接收器:从HS0038引脚到完整电路搭建实战 红外遥控技术早已渗透到我们生活的方方面面,从电视遥控器到智能家居控制,这种看似简单的无线通信方式背后隐藏着精妙的电子学原理。对于电子爱好者来说,亲手搭建一个红外接收电…...