【每日运维】RockyLinux8.6升级OpenSSH9.4p1

2023-10-31

为什么需要升级openssh呢,因为很多项目进行漏扫结果都会涉及到这个服务器核心组件,一想到以前升级openssh带来的各种依赖性问题就头疼,不管是什么发行版,升级这个东西真的很烦,这次发现可能还会有好一点的通用一点的升级方法,所以有个这个验证记录

制作RPM离线包

你需要升级什么环境的openssh就准备什么环境的镜像包,本地创建虚拟机进行验证和打包

环境准备

  • 标准的RockyLinux 8.6
  • 虚拟机有外网权限
  • 默认的openssh版本:8.0p1
    在这里插入图片描述

制作 rpm 包

  1. 准备编译环境基础工具
# 基础包
dnf install wget make gcc perl rpm-build gtk2-devel krb5-devel libXt-devel openssl-devel pam-devel -y

# 基础包
wget http://www.rpmfind.net/linux/centos/8-stream/PowerTools/x86_64/os/Packages/imake-1.0.7-11.el8.x86_64.rpm

# 安装
dnf localinstall imake-1.0.7-11.el8.x86_64.rpm -y

在这里插入图片描述

  1. 下载源码包
# 创建编译构建目录
mkdir -p /root/rpmbuild/SOURCES

# 下载源码包
cd /root/rpmbuild/SOURCES
wget https://pkgs.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

在这里插入图片描述
3. 解压并配置

# 解压
tar -xf openssh-9.4p1.tar.gz

# 拷贝文件
cp openssh-9.4p1/contrib/redhat/openssh.spec ./

# 修改文件内容
sed -i 's/BuildRequires: openssl-devel < 1.1/#BuildRequires: openssl-devel < 1.1/g' openssh.spec

在这里插入图片描述
4. 生成rpm包

# 执行即可
rpmbuild -ba openssh.spec

在这里插入图片描述
在这里插入图片描述

  1. 检查生成的rpm包
    在这里插入图片描述

制作离线依赖包

我把上面的rpm包单独放在一个目录下,最后方便打包

在这里插入图片描述

  1. 我们上一步已经完成了对openssh9.4p1离线包的制作,如果我们直接进行rpm命令进行安装,可能就会产生依赖问题,比如说:
    在这里插入图片描述
  2. 所以我们还需要准备依赖包的离线文件
# 基于上述rpm包下载需要的依赖离线文件放在对应文件
yum install -y --downloadonly --downloaddir=/root/install_pckg_rpm/dpndncy_pckg openssh-9.4p1/*.rpm

在这里插入图片描述
3. 这样我们就完成了所有需要的RPM包文件了,就可以进行openssh升级工作了

升级openssh

  1. 升级方案步骤
卸载旧版本的openssh
虚拟控制台进行升级,因为没有ssh了
重启服务器验证生效
  1. 升级实操
# 卸载旧版本的openssh

在这里插入图片描述

# 安装所有的rpm包
rm -rf /etc/ssh

在这里插入图片描述
在这里插入图片描述

启动和配置

安装成功以后,是不能直接通过ssh去连接的,需要额外配置

在这里插入图片描述

  1. 配置sshd_config文件

在这里插入图片描述
2. 关闭selinux(这个我一般都是关闭了的)
3. 重启后就可以连接了
在这里插入图片描述

总结

  • 整个安装过程会擦除掉以前所有ssh相关信息和配置,需要注意这一点
  • 这可能作为一个通用的升级验证过程,以前总是各种编译安装openssh,各种依赖也不好解决
  • 如果没法直接控制台操作服务器,可以安装 telnet 工具,临时采用不安全连接方式进行升级openssh
  • 对上述验证过程中升级的各种底层依赖包,不知道是否有风险,所以最好还是在升级之前做好虚拟机快照备份
  • 上述生成的rpm包可以打包带走,用在任意一台相同系统的环境下,都可以进行升级操作了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【每日运维】RockyLinux8.6升级OpenSSH9.4p1 的相关文章

  • CentOS目录结构是树形的吗?

    CentOS 上有相当于树的东西吗 如果你的 Centos 系统上没有安装 tree 无论如何我通常建议服务器设置使用最小安装磁盘 你应该在命令行中输入以下内容 yum install tree y 如果没有安装 那是因为您没有正确的存储库
  • Paramiko ValueError“p 的长度必须恰好为 1024、2048 或 3072 位”

    我正在尝试使用 Python 脚本连接 SFTP 由于 p 错误 我无法连接 import paramiko client paramiko SSHClient client load system host keys client con
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • numpy 未定义符号:PyFPE_jbuf

    我正在尝试使用一百万首歌曲数据集 为此我必须安装 python 表 numpy cython hdf5 numexpr 等 昨天我设法安装了我需要的所有内容 在使用 hdf5 遇到一些麻烦之后 我下载了预编译的二进制包并将它们保存在我的 b
  • 如何获取 linux 实用程序 tail 的源代码?

    这个命令确实非常有用 但是我可以在哪里获取源代码以查看内部发生的情况 thanks tail 实用程序是 Linux 上 coreutils 的一部分 源压缩包 ftp ftp gnu org gnu coreutils coreutils
  • 如何用X11复制到剪贴板?

    使用 OS X 上的框架 我可以使用以下命令将 PNG 复制到粘贴板 在 C 中 显然我可以将 NSPasteboard 与 Cocoa 一起使用 include
  • 怎样才能使 Windows 成为一个开箱即用的 POSIX 兼容操作系统?

    这个问题的动机是我的一个牵强的梦想 即 nix 平台上可用的许多优秀软件可以轻松移植到 Windows 微软最近对开源和开放性采取了不同的方法 所以我真的很想知道如果微软有这样的倾向 这样的事情会有多可行 我很好奇的一些更具体的事情是 是否
  • 构建 makefile 依赖/继承树

    如果我解释得不好或者问了一些明显的问题 我很抱歉 但我是 Linux 内核的新手 而且有点深入 我们有一个嵌入式 Linux 系统 它附带一个 文档非常糟糕的 SDK 其中包含数百个文件夹stuff 大多数文件夹包含rules make m
  • 停止服务时单元陷入故障状态(状态=143)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的问题 我有 CentOS 和 java 进程在上面运行 Java进程是通过启动 停止脚本来操作的 它也创建了 java 实例的 p
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • Linux 中热插拔设备时检测设备是否存在

    我正在运行 SPIcode http lxr free electrons com source drivers spi spi omap2 mcspi c在熊猫板上 我想知道其中的哪个功能code http lxr free electr
  • 如何记录 ssh 调试信息?

    我需要将 ssh 调试信息的输出写入文件中 这 ssh v email protected cdn cgi l email protection gt result txt ssh v email protected cdn cgi l e
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 如何在Python中独立于语言安装(linux)获取用户桌面路径

    我找到了 如何找到用户桌面的路径 的几个问题和答案 但在我看来它们都已失效 至少我找到的那些 原因是 如果用户安装的 Linux 不是英语 他或她的桌面很可能位于除 Desktop 例如 对于瑞典语 我相信它是在 Skrivbord 谁知道
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • 将密钥对添加到现有 EC2 实例

    我被给予AWS控制台访问正在运行 2 个实例的帐户 但我无法关闭 在生产中 但是 我想获得对这些实例的 SSH 访问权限 是否可以创建一个新的密钥对并将其应用到实例 以便我可以通过 SSH 访问 获取现有的pem当前无法选择创建实例所用的密
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • 在 Linux 上的 Python 中使用受密码保护的 Excel 工作表

    问题很简单 我每周都会收到一堆受密码保护的 Excel 文件 我必须解析它们并使用 Python 将某些部分写入新文件 我得到了文件的密码 当在 Windows 上完成此操作时 处理起来很简单 我只需导入 win32com 并使用 clie
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star

随机推荐

  • 从原理到应用落地,一文读懂推荐系统中的深度学习技术

    作者丨gongyouliu zandy 来源丨大数据与人工智能 ID ai big data 2016年DeepMind开发的AlphaGo在围棋对决中战胜了韩国九段选手李世石 一时成为轰动全球的重大新闻 被全球多家媒体大肆报道 Alpha
  • Linux GCC常用命令

    1简介 2简单编译 2 1预处理 2 2编译为汇编代码 Compilation 2 3汇编 Assembly 2 4连接 Linking 3多个程序文件的编译 4检错 5库文件连接 5 1编译成可执行文件 5 2链接 5 3强制链接时使用静
  • Excel做题记录——整数规划优化模型

    文章目录 题目 一 首先根据题目要求提取信息 并列出数学模型 二 通过Excel里的 规划求解 来解出答案 1 创建数据表格 2 根据数学模型设置数据 3 使用 规划求解 功能求解 i 变量都为整数 ii 约束量 总重量 小于等于50 参考
  • 【大数据】——处理框架

    说起大数据处理啊 一切都起源于Google公司的经典论文 在当时 2000年左右 由于网页数量急剧增加 Google公司内部平时要编写很多的程序来处理大量的原始数据 爬虫爬到的网页 网页请求日志 计算各种类型的派生数据 倒排索引 网页的各种
  • EtherNet/IP网络模型

    一 常识入门 0 为什么需要CIP协议 CIP协议 Common Industrial Protocol 是一种工业通信协议 旨在实现不同设备 控制器和系统之间的数据交换和控制 CIP协议的使用有以下几个原因 统一标准 CIP协议是一个公认
  • crawlSpider,分布式爬虫,增量式爬虫

    一 crawlSpider 1 上次了一种爬取全站数据是基于Scrapy框架中的Spider的递归爬取进行实现 Requests模块递归回调parse方法 2 现在在讲介绍一种比较好用的方法 基于CrawlSpider的自动爬取进行实现 更
  • 关于LBP特征等价模式的解释

    为了解决二进制模式过多的问题 提高统计性 Ojala提出了采用一种 等价模式 Uniform Pattern 来对LBP算子的模式种类进行降维 Ojala等认为 在实际图像中 绝大多数LBP模式最多只包含两次从1到0或从0到1的跳变 因此
  • C#操作MSSQL数据库 -增删改查

    要在C 中连接到Microsoft SQL Server数据库 MSSQL 你可以使用 NET Framework提供的System Data SqlClient命名空间中的类 以下是一个简单的示例代码 展示了如何在C 中使用MSSQL数据
  • 二叉查找树特性,优点,缺点

    概述 二叉排序树 Binary Sort Tree 又称二叉查找树 Binary Search Tree 亦称二叉搜索树 是数据结构中的一类 在一般情况下 查询效率比链表结构要高 定义 一棵二叉查找树是一棵二叉树 每个节点都含有一个Comp
  • Snap年度AR生态大会Lens Studio资讯:AR应用状况、制作工具Lens Studio和内容生态

    这两天我阅读了一些公众号关于Snap公司召开的AR生态大会Lens Fest 2021报道 并在官网观看了相关视频 这些资讯让我对AR增强现实目前的应用状况和制作技术有了一个全新的了解 结论 整场大会看完之后 我的感觉主要有三点 过去 人们
  • 封装与解封装

    封装与解封装 封装 将数据变为比特流的过程中 在参考模型的每一层需要添加上特定的协议报头动作 动作 从高层往低层依次封装 在每一层使用特定的协议 对数据进行处理 在数据前添加特定的协议报头 封装原则 1 每一层在上一层数据前添加协议报头 2
  • Tangram 2.0——猫客页面内组件的动态化方案

    Tangram 2 0 库 Android Tangram Android Virtualview Android iOS Tangram iOS Virtualview iOS 背景 技术背景 一直以来 无线应用都在不断寻求动态化页面的解
  • 华为OD机试 - 寻找最大价值的矿堆(Java)

    题目描述 给你一个由 0 空地 1 银矿 2 金矿 组成的的地图 矿堆只能由上下左右相邻的金矿或银矿连接形成 超出地图范围可以认为是空地 假设银矿价值1 金矿价值2 请你找出地图中最大价值的矿堆并输出该矿堆的价值 输入描述 地图元素信息如
  • 台阶--Nim游戏(博弈论)

    问题 现在 有一个 nn 级台阶的楼梯 每级台阶上都有若干个石子 其中第 ii 级台阶上有 aiai 个石子 i 1i 1 两位玩家轮流操作 每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中 不能不拿 已经拿到地面上的石子不能再拿
  • 子网掩码是什么,IP段的24是什么写法

    背景 关于设置 IP 网段 我们常见到的 192 168 1 0 24 是什么意思 24是什么意思 这里的 192 168 1 0 的末尾0是 一定是0吗 跟 192 168 1 5 24 所表示的网段是一样的吗 解答 24 这种写法 24
  • QGC调试px4飞控问题总结

    注 本文主要讨论本人遇到的问题 由于各操作步骤已有不少文章说明具体操作方法 本文不再赘述 1 如果使用碳纤维机架 要在电源板背面增加绝缘层以防短路 如果自行焊接导线 应当检查是否短路 2 传感器校准时尽量不要放到桌子上调 这是因为桌子可能不
  • pytorch 初始化

    初始化权值
  • 蓝桥杯:试题F:青蛙过河问题

    试题描述 小青蛙住在一条河边 它想到河对岸的学校去学习 小青蛙打算经过河里 的石头跳到对岸 河里的石头排成了一条直线 小青蛙每次跳跃必须落在一块石头或者岸上 不过 每块石头有一个高度 每次小青蛙从一块石头起跳 这块石头的高度就 会下降 1
  • vue项目 设置scrollTop不起作用 总结

    今天在开发中 遇到这样一个情景 一个页面中有三个模块 每个模块对应一个标题 每个模块内容都很长 所以需要点击当前模块对应的标题滚动到模块所在位置 我想的方案是获取到每个模块距离文档顶部的距离 然后将值赋给对应要滚动的元素 步骤如下 首先给每
  • 【每日运维】RockyLinux8.6升级OpenSSH9.4p1

    为什么需要升级openssh呢 因为很多项目进行漏扫结果都会涉及到这个服务器核心组件 一想到以前升级openssh带来的各种依赖性问题就头疼 不管是什么发行版 升级这个东西真的很烦 这次发现可能还会有好一点的通用一点的升级方法 所以有个这个