由于系统原装的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. Atcoder dp I Coins 题解

    Atcoder链接:Coins Luogu链接:Coins $\scr{\color{BlueViolet}{Solution}}$ 观察数据,发现$ \cal{n} \le 3000 $,说明 $ ...

  2. VUE 轮询、轮询终止 beforeRouteLeave

    目录 1 在data中定义 2 在methods中定义 3 开始轮询 4 终止轮询 方法一: destroyed() 方法二:beforeRouteLeave(to, from, next) 推荐 所 ...

  3. Gitlab配置ssh_key

    一.背景 当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码.那么我们就 ...

  4. Spring异步Async和事务Transactional注解

    Spring开发中我们我们常常用到@Transaction和@Async,但这2个注解加在一起很多的开发者不敢用,担心事务不生效.下面我们就仔细讲解一下这2个注解同时运用,文章用3个场景讲述它们之间的 ...

  5. C#反射运行该类下的方法

    Text:反射的类名 s:方法名 data:参数 如果无参则: (string)method.Invoke(obj, null); Type type = typeof(Text); MethodIn ...

  6. Cpp 友元简述

    友元函数,友元类 使用友元,主要是易于直接访问数据,但友元本质是以破坏封装性为代价. 下例引用于: <C++程序设计(第2版)> 友元声明位置由程序设计者决定,且不受类中public.pr ...

  7. 力扣---1137. 第 N 个泰波那契数

    泰波那契序列 Tn 定义如下: T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2给你整数 n,请返回第 n 个泰波那契 ...

  8. 2.5.scrollView和swiper组件的使用

    # scroll-view 可滚动视图区域.用于区域滚动. 需注意在webview渲染的页面中,区域滚动的性能不及页面滚动. 属性说明 属性名 类型 默认值 说明 平台差异说明 scroll-x Bo ...

  9. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  10. Jetson Nano更改软件源

    Jetson Nano 采用的是 aarch64 架构的Ubuntu 18.04.2 LTS 系统 sudo vim /etc/apt/sources.list deb http://mirrors. ...