由于系统原装的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. Vue+echart 展示后端获取的数据

    最近在合作做一个前后端分离项目时,为了测试我写的后端部分获取数据的效果,自己也学了一下 vue 的知识,在获取 json 信息这里也踩了很多坑. 这里列举下我返回的 json 部分信息: { &quo ...

  2. 动力节点——day01

    eclipse的快捷键: 1.ctrl+d删除一行 2.ctrl+1进行纠错 3.alt+/自动补全 4.单行注释ctrl+/ 5.多行注释ctrl+shift+/ 取消ctrl+shift+\ 6. ...

  3. 关于 Dev-C++ 中缺少 iconv.h 的问题

    前言 在 C++ 中有个扩展库 ext,里面有一些黑科技(hash, splay, binomial_heap 等等), 在 Windows 环境中,我们运行 Dev-C++ 并在头文件写 #incl ...

  4. 半个前端新手入门Electron的过程

    前言 先说几句废话,本人是一名 web 后端开发,主语言是 java,在学 Electron 之前,只会一点点 HTML和 JavaScript.本文讲的也是我学习 Electron 的过程,而非教程 ...

  5. Java 进阶P-8.13+P-8.14

    格式化输入输出 Print Writer format("格式",...); printf("格式",...); print(各种基本类型); println( ...

  6. 【学习笔记】QT从入门到实战完整版(Lambda)(2)

    Lambda Lambda 表达式很有意思,相信很多人初次见到 Lambda 表达式都会不能理解有什么用,我也一样,看了视频教程之后,突然意识到,Lambda 真的是太好用了,它可以在某些情况下可以很 ...

  7. 用GPU来运行Python代码

    简介 前几天捣鼓了一下Ubuntu,正是想用一下我旧电脑上的N卡,可以用GPU来跑代码,体验一下多核的快乐. 还好我这破电脑也是支持Cuda的: $ sudo lshw -C display *-di ...

  8. Python调用Openstack API

    本文将介绍如何使用 python 调用 OpenStack API. 什么是RESTful API RESTful API 就是 RESTful 风格的 API.遵循 RESTful 风格开发的API ...

  9. 关于Visual Studio使用头文件"stdafx.h"报错原因

    当我们需要使用"stdafx.h"该头文件时,Visual Studio会报错,提示我们无法打开源文件"stdafx.h",实际上在Visual Studio中 ...

  10. PostgreSQL 实现快速删除一个用户

    一.具体方法 一般情况下直接执行 drop role xxx; 就可以把这个用户删除.但是很多时候会因为用户有依赖而报错. 二.权限依赖 postgres=# create role test wit ...