由于系统原装的openssh存在高危的漏洞,安全扫描不过,故制作出最新版本的rpm包修复openssh高危漏洞。

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

2.下载源码包到 /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.2p1.tar.gz

3.解压 openssh 源码包

tar -zxvf openssh-9.2p1.tar.gz

4.拷贝 openssh.spec 文件

mkdir /root/rpmbuild/SOURCES

cp openssh-9.2p1/contrib/redhat/openssh.spec /root/rpmbuild/SOURCES

5.修改 /root/rpmbuild/SOURCES/openssh.spec 文件

注释掉 openssl-devel < 1.1 ##否则会报错

6.制作RPM包

rpmbuild -ba openssh.spec

7.制作完安装包

`[root@localhost ~]# tree rpmbuild/RPMS/x86_64/

rpmbuild/RPMS/x86_64/

├── openssh-9.2p1-1.el8.x86_64.rpm

├── openssh-askpass-9.2p1-1.el8.x86_64.rpm

├── openssh-askpass-debuginfo-9.2p1-1.el8.x86_64.rpm

├── openssh-askpass-gnome-9.2p1-1.el8.x86_64.rpm

├── openssh-askpass-gnome-debuginfo-9.2p1-1.el8.x86_64.rpm

├── openssh-clients-9.2p1-1.el8.x86_64.rpm

├── openssh-clients-debuginfo-9.2p1-1.el8.x86_64.rpm

├── openssh-debuginfo-9.2p1-1.el8.x86_64.rpm

├── openssh-debugsource-9.2p1-1.el8.x86_64.rpm

├── openssh-server-9.2p1-1.el8.x86_64.rpm

└── openssh-server-debuginfo-9.2p1-1.el8.x86_64.rpm

0 directories, 11 files

`

遇到问题:

1.

[root@localhost SPECS]# rpmbuild -ba openssh.spec error: Failed build dependencies: openssl-devel < 1.1 is needed by openssh-9.2p1-1.el8.x86_64

解决方法 注释/root/rpmbuild/SOURCES/openssh.spec 文件 openssl-devel < 1.1

`configure: error: PAM headers not found

error: Bad exit status from /var/tmp/rpm-tmp.ni9gQB (%build)

RPM build errors:

Bad exit status from /var/tmp/rpm-tmp.ni9gQB (%build)

解决方法 安装 pam-devel dnf install pam-devel -y`

安装升级openssh时候需要注意以下几点:

1.提前备份原openssh的配置文件便于有问题时候恢复;

2.注意pam模块的使用,开启pam模块且pam.d 下的sshd配置不正确会导致登录失败;

3.要保证可以登录到带外,防止升级失败系统登录不上;

RockyLinux8.7 制作OpenSSH9.2 rpm包的更多相关文章

  1. 二十三.Subversion基本操作、使用Subversion协同工作、制作nginx的RPM包

    1.Subversion基本操作 web1 1.1 安装Subversion服务器 ]# yum -y install subversion 1.1.1 创建版本库 ]# mkdir /var/svn ...

  2. 高级运维(七):Subversion基本操作、使用Subversion协同工作、制作nginx的RPM包

    一.Subversion基本操作 目标: 本案例要求先快速搭建好一台Subversion服务器,并测试该版本控制软件: 1> 创建版本库    2> 导入初始化数据    3> 检出 ...

  3. 使用rpm-build制作nginx的rpm包

    2014-11-27 11:05:49   一.RPM包的分类 RPM有五种基本的操作功能:安装.卸载.升级.查询和验证. linux软件包分为两大类: (1)二进制类包,包括rpm安装包(一般分为i ...

  4. 制作FastDFS的RPM包

    首先获取fastdfs的源码,因为fastdfs还依赖一个libfastcommon的库,所以也要准备好. fastdfs的源码目录结构: libfastcommon的源码目录结构: 接下来将以Cen ...

  5. 制作自己的rpm包,并为其制作patch包。

    本文分为两个部分,第一部分是制作一个简单的自己的rpm包,并安装运行它.第二部分是为其制作一个patch包,并通过spec配置文件去打补丁,安装.运行打补丁后的程序. 一.安装工具 [yh@local ...

  6. 制作nginx的rpm包出现问题

    在学习打包rpm,找到了个不错的参考站点  https://src.fedoraproject.org/cgit/rpms/ 过程: git clone -b el6 git://pkgs.fedor ...

  7. nginx-1.8.0 rpm包制作

    1.安装rpm-build # yum install rpm-build 2.创建制作RPM包目录 # cat /root/.rpmmacros %_topdir /root/rpmbuild %_ ...

  8. 制作rpm包步骤

    由于项目需要,需要自行制作rpm包.比较全面的可以参考如下链接: http://blog.chinaunix.net/uid-23069658-id-3944462.html 大致框架如下: 1,安装 ...

  9. rpm包制作(待实验)

    作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm N ...

  10. fpm制作rpm包

    一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...

随机推荐

  1. 数据结构与算法 -> 并查集

    一.并查集概念 并查集是一种树形的数据结构,顾名思义,它用于处理一些不交集的合并及查询问题. 它支持两种操作: 查找(Find):确定某个元素处于哪个子集,单次操作时间复杂度 O(α(n)),即查询元 ...

  2. day16-声明式事务-02

    声明式事务-02 3.事务的传播机制 事务的传播机制说明: 当有多个事务处理并存时,如何控制? 比如用户去购买两次商品(使用不同的方法),每个方法都是一个事务,那么如何控制呢? 也就是说,某个方法本身 ...

  3. linux/windows解决/关闭端口占用

    Linux 找到占用端口的进程信息: netstat -lnp|grep 端口号 例如:netstat -lnp|grep 8080 就是找到正在使用8080端口的进程 关闭进程: kill -9 进 ...

  4. 互斥锁、线程理论、GIL全局解释器、信号量、event事件、进程池和线程池以及协程

    目录 一.互斥锁代码实操 1.互斥锁的概念 2.互斥锁的使用 3.死锁现象 4. 小结 二.线程理论 进程 线程 线程简介 为什么要使用多线程? 多线程概念 多进程的优点: 线程与进程的区别 线程的特 ...

  5. java优化几个小步骤

    1.top查看消耗cpu高的java程序进程2.ps -mp [替换为进程ID PID] -o THREAD,tid,time3.printf "%x" 114134.stack ...

  6. C-09\编译预处理

    一.预处理 C语言在对源程序进行正常编译之前,会先对一些特殊的预处理命令作解释,产生一个新的源程序,该过程称为编译预处理 为了区分预处理命令和一般的C语句,所有预处理命令行都以"#" ...

  7. 学习Java Day23

    今天学习了包访问,没有指定public或private的部分可以被同一个包中的所有方法访问

  8. RocketMQ - 消费者概述

    消费流程 消费者组: 一个逻辑概念,在使用消费者时需要指定一个组名.一个消费者组可以订阅多个Topic. 消费者实例: 一个消费者组程序部署了多个进程,每个进程都可以称为一个消费者实例. 订阅关系: ...

  9. JZOJ 7377.欢乐豆

    \(\text{Problem}\) 有一个有向完全图,所有的 \(u\) 到 \(v\) 的边权为 \(a_u\) 修改 \(m\) 此有向边边权,求最终图上两两点对的最短路之和 \(1\le n ...

  10. JZOJ 【2020.11.30提高组模拟】剪辣椒(chilli)

    题目大意 给出一棵 \(n\) 个节点的树,删去其中两条边 使得分出的三个子树大小中最大与最小的差最小 分析 先一边 \(dfs\) 预处理出以 \(1\) 为根每个点的 \(size\) 然后按 \ ...