CentOS 5/6/7 基于开源项目制作openssh 9.6p1 rpm包—— 筑梦之路

背景介绍

开源项目地址:https://github.com/boypt/openssh-rpms.git

该项目主要支持了centos 5 、6、7版本,针对使用了比较老的操作系统进行openssh安全加固,还是不错的项目,使用简单、一件制作,欢迎大家去支持作者。这里我来使用试试,并将过程进行记录。

环境说明

操作系统:CentOS Linux release 7.3.1611 (Core)

CPU架构:x86

内核版本:3.10.0-514.26.2.el7.x86_64

准备工作

1. 准备源码

# 准备源码wget --no-check-certificate https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gzwget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1w.tar.gzgit clone https://github.com/boypt/openssh-rpms.git# 将源码下载放到downloads目录下

2. 准备编译打包环境

yum groupinstall -y "Development Tools"yum install -y imake rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel

3. 修改开源脚本

# 修改脚本pullsrc.sh# 第一处source version.env改为source ./version.env# 第二处wget OPENSSLSRCwget OPENSSHSRCwget ASKPASSSRC改为wget --no-check-certificate $OPENSSLMIR/$OPENSSLSRC wget --no-check-certificate $OPENSSHMIR/$OPENSSHSRCwget --no-check-certificate $ASKPASSMIR/$ASKPASSSRC
# 添加ssh-copy-id命令cd el7/SPECSvim  openssh.spec# 307 行后添加install -m755 contrib/ssh-copy-id $RPM_BUILD_ROOT/usr/bin/ssh-copy-id# 390行后添加%attr(0755,root,root) %{_bindir}/ssh-copy-id
# 修改版本openssl的版本 version.envOPENSSLSRC修改为openssl-1.1.1w.tar.gz

 编译打包

cd openssh-rpms && ./compile.sh

打包完成后二进制rpm包在目录openssh-rpms/el7/RPMS/x86_64下,源码包在openssh-rpms/el7/SRPMS/下,稍后我将放到我的资源中,若有需要的可自行下载。资源名称为:openssh9.6-centos7.3-x86-64.tgz,资源地址:https://download.csdn.net/download/qq_34777982/88668870

安装测试

# 安装更新yum localinstall openssh-*.rpm # 授权chmod 600 /etc/ssh/ssh_host_*# 重启服务systemctl  restart sshd && systemctl  enable sshd --now# 检查服务状态systemctl status sshd

FAQ

1. 修改yum源

为什么要修改yum源,系统默认是最新的yum源,在安装依赖包的时候会升级版本和内核,而由于centos 7.3比较老,会出现诸多兼容性问题,因此我们需要将yum改为7.3的。

以下文件作为参考:

cat /etc/yum.repos.d/CentOS-Vault.repo 
# CentOS Vault contains rpms from older releases in the CentOS-7 
# tree.#c7.3.1611
[C7.3.1611-base]
name=CentOS-7.3.1611 - Base
baseurl=http://vault.centos.org/7.3.1611/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1[C7.3.1611-updates]
name=CentOS-7.3.1611 - Updates
baseurl=http://vault.centos.org/7.3.1611/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1[C7.3.1611-extras]
name=CentOS-7.3.1611 - Extras
baseurl=http://vault.centos.org/7.3.1611/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1[C7.3.1611-centosplus]
name=CentOS-7.3.1611 - CentOSPlus
baseurl=http://vault.centos.org/7.3.1611/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1[C7.3.1611-fasttrack]
name=CentOS-7.3.1611 - CentOSPlus
baseurl=http://vault.centos.org/7.3.1611/fasttrack/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1# C7.1.1503
[C7.1.1503-base]
name=CentOS-7.1.1503 - Base
baseurl=http://vault.centos.org/7.1.1503/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1[C7.1.1503-updates]
name=CentOS-7.1.1503 - Updates
baseurl=http://vault.centos.org/7.1.1503/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1[C7.1.1503-extras]
name=CentOS-7.1.1503 - Extras
baseurl=http://vault.centos.org/7.1.1503/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0[C7.1.1503-centosplus]
name=CentOS-7.1.1503 - CentOSPlus
baseurl=http://vault.centos.org/7.1.1503/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0[C7.1.1503-fasttrack]
name=CentOS-7.1.1503 - CentOSPlus
baseurl=http://vault.centos.org/7.1.1503/fasttrack/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0# C7.2.1511
[C7.2.1511-base]
name=CentOS-7.2.1511 - Base
baseurl=http://vault.centos.org/7.2.1511/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0[C7.2.1511-updates]
name=CentOS-7.2.1511 - Updates
baseurl=http://vault.centos.org/7.2.1511/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0[C7.2.1511-extras]
name=CentOS-7.2.1511 - Extras
baseurl=http://vault.centos.org/7.2.1511/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0[C7.2.1511-centosplus]
name=CentOS-7.2.1511 - CentOSPlus
baseurl=http://vault.centos.org/7.2.1511/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0[C7.2.1511-fasttrack]
name=CentOS-7.2.1511 - CentOSPlus
baseurl=http://vault.centos.org/7.2.1511/fasttrack/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0

2. 查看防火墙状态

在未关闭selinux、firewalld防火墙的情况下仍然可以正常连接。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/581236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go语言10进制与16进制转换

野旷天低树,江清月近人 目录 16进制字符串转16进制int64 16进制字符串转10进制字符串 10进制字符串转16进制字符串 10进制字符串转换10进制int64 16进制字符串转16进制int64 strconv.ParseInt(str, 16, 64) 16进制字符串转10进制字符串 ​dist16Int64, err : …

c语言-打印某种图案练习题

目录 前言一、题目一二、题目二总结 前言 本篇文章叙述c语言中打印某种图案的练习题,以便加深对c语言的运用和理解。 一、题目一 题目分析: 行与行之间的关系:第一行不进行空格,从第二行开始空一个空格,后面的空格式逐…

羊大师教你如何选择,适合老人饮用的羊奶?

羊大师教你如何选择,适合老人饮用的羊奶? 羊奶作为一种营养丰富的天然健康饮品,备受人们的青睐。而对于老年人来说,选择适合的羊奶品牌和产品并非易事。那么,如何选择适合老人饮用的羊奶呢?下面为您介绍几…

音视频编码基础知识

视频编码指的是通过特定的压缩技术将一种视频格式文件转换成另一种视频格式文件的过程。 常见的视频编码: MPEG类 MPEG1(VCD等使用),MPEG2(DVD等使用),MPEG4(DivX,XviD…

基于Python的城市热门美食数据可视化分析系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从XX点评APP采集北京市的餐饮商铺数据,利用数据挖掘技术对北京美食的分布、受欢迎程度、评价、评论、位置等情况进行了深入分析,方便了解城市美食店…

C# 操作非持久化内存映射文件

目录 写在前面 代码实现 进程A 进程B 进程C 调用示例 总结 写在前面 多个进程之间,通过操作未映射到磁盘上现有文件的内存映射文件,可以实现数据共享和类似进程间通讯的功能。以下示例展示了使用三个独立进程,先各自将布尔值写入内存…

cpp_07_类型转换构造_析构函数_深拷贝_静态成员

1 类型转换构造函数 1.1 why? 基本类型之间的转换,编译器内置转换规则:int -> double 类类型之间的转换,编译器不知道转换规则,需要用户提供:Cat -> Dog // consconv_why.cpp 为什么需要自定义转换 #includ…

记一次修复外网无法访问vmware里面的虚拟机的网络端口的问题

发现一个奇怪的网络问题,vmware里一个程序的端口通过vmnat穿透出来,然后这个端口就能够通过局域网被其他机器访问,但是另一个网段就没法访问这个端口。使用主机上的其他程序使用开启同样的端口,另一个网段的机器却可以访问。我想不…

HarmonyOS栅格布局---GridRow

题外话:栅格布局最初是在web 端应用的,为了解决一个系统在不同的屏幕,和不同的设备上可以不进行多次开发的问题,希望一次开发可以最大化的适配用户的不同类型设备,解决方案:将屏幕采用断点的方式进行布局分…

创新驱动数字经济发展,融云获评「2023 数字经济隐形独角兽」

近期,由北京市大兴区经济和信息化局、北京大兴经济开发区管理委员会、北京隐形独角兽信息科技院联合主办的“2023 数字经济独角兽大会”在北京成功举行。关注【融云 RongCloud】,了解协同办公平台更多干货。 作为专注耕耘通信赛道、掌握关键核心技术、具…

LDO线性稳压器与开关电源的原理

线性稳压器LDO典型代表:LM7805 ,AMS1117,还有一下性能比较好的LDO: 开关稳压器典型代表:LM2596,MP1584,TPS5430,MP2315S LDO靠发热分散能量,纹波较小一般在30mv以下;DCDC通过开关开断…

ubuntu 安装docker GPG error缺少公钥解决方法

文章目录 报错信息解决方案 报错信息 W: GPG error: http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal InRelease: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8 E: The repository ‘http:…

最新国内使用GPT4教程,GPT语音对话使用,Midjourney绘画,ChatFile文档对话总结+DALL-E3文生图

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,文档对话总结DALL-E3文生图,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和…

节假日计算器

节假日计算器 代码结果 代码 import cn.hutool.core.text.StrFormatter; import com.google.common.collect.Lists; import lombok.Data;import java.time.LocalDate; import java.time.format.TextStyle; import java.util.ArrayList; import java.util.Collections; import …

Ubuntu安装K8S的dashboard(管理页面)

原文网址:Ubuntu安装k8s的dashboard(管理页面)-CSDN博客 简介 本文介绍Ubuntu安装k8s的dashboard(管理页面)的方法。 Dashboard的作用有:便捷操作、监控、分析、概览。 相关网址 官网地址:…

pnpm、npm、yarn是什么?怎么选择?

pnpm、npm、yarn三者是前端常用的包管理器,那么他们有什么区别呢? 1. npm (Node Package Manager) npm是Node.js的默认包管理器。自Node.js发布以来,npm就一直作为它的一个组成部分存在,因此,安装Node.js时也会自动安…

电路设计(8)——计时器的multism仿真

1.功能设计 这是一个计时电路,在秒脉冲的驱动下,计时器开始累加,6个数码管分别显示计时的 时:分:秒。 仿真图如下所示: 左边的运放构成了振荡电路,可以产生脉冲波。这个脉冲波给计时电路提供基准…

0.1+0.2≠0.3,揭秘Python自带的Bug

朋友们,问一个简单的问题:0.10.2? 你肯定会说:中国人不骗中国人,0.10.20.3。 但是在Python里,0.10.2≠0.3 ,我们今天一起来看看这个,并且看一下解决办法。 离奇的错误 在python里…

【日志系列】什么是分布式日志系统?

✔️什么是分布式日志系统? 现在,很多应用都是集群部署的,一次请求会因为负载均衡而被路由到不同的服务器上面,这就导致一个应用的日志会分散在不同的服务器上面。 当我们要向通过日志做数据分析,问题排查的时候&#…

Sass(Scss)、Less的区别与选择 + 基本使用

在前端开发中,CSS预处理器成为了提高样式表开发效率的重要工具。Sass(以及其语法Scss)和Less是两个最为流行的CSS预处理器,它们在语法、功能和用法上存在一些差异,因此在选择使用时需要考虑多个因素。 1. Sass 和 Les…