构建并升级openssh至OpenSSH_9.8p1

2024-08-27 03:36
文章标签 构建 升级 p1 openssh 9.8

本文主要是介绍构建并升级openssh至OpenSSH_9.8p1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

组件说明
OpenSSH_9.8p1最新版本(2024年8月)
OpenSSL 1.1.1pCentOS7中默认是OpenSSL 1.0.2k-fips 26 Jan 2017版本,OpenSSH_9.8p1不支持
CentOS7主要是因为有大量CentOS老版本需要升级RPM,需要适配,故选择此版本。
AnolisOS如果在CentOS8或Anolis中构建,则无需升级openssl:OpenSSL 1.1.1k FIPS 25 Mar 2021

准备编译环境

 yum -y groupinstall "development tools"yum install rpm-build rpmdevtools zlib-devel gcc perl perl-devel pam pam-devel unzip compat-openssl10-devel krb5-devel krb5-libs pkgconfig gtk2-devel imake libXt-devel glibc-devel 

准备构建环境

su - user1rpmdev-setuptree$ ll /home/user1/rpmbuild总用量 0drwxr-x--x. 3 user1 user1 27 8月   9 16:55 BUILDdrwxr-x--x. 2 user1 user1  6 8月   9 16:58 BUILDROOTdrwxr-x--x. 3 user1 user1 20 8月   9 16:57 RPMSdrwxr-x--x. 2 user1 user1 34 8月   9 16:38 SOURCESdrwxr-x--x. 2 user1 user1 26 8月   9 16:55 SPECSdrwxr-x--x. 2 user1 user1 41 8月   9 16:57 SRPMS

获取并修改spec文件

$ mv ~/openssh-9.8p1.tar.gz SOURCES/
$ cd rpmbuild
$ tar zxvf SOURCES/openssh-9.8p1.tar.gz -C ~/
$ cp ~/openssh-9.8p1/contrib/redhat/openssh.spec SPECS/
# 修改openssh.spec中的如下位置
$ vi SPECS/openssh.spec 
%global no_x11_askpass 1
%global no_gnome_askpass 1
%global kerberos5 0
#Source1: http://www.jmknoble.net/software/x11-ssh-askpass/x11-ssh-askpass-%{aversion}.tar.gz
#%if %{without_openssl}--with-ssl-dir=/usr/local/openssl \
#%endif

注意:--with-ssl-dir=/usr/local/openssl前提需要按照RPM包安装步骤,先把openssl升级到1.1.1以上版本。如果自己系统里的openssl-devel的版本大于等于1.1.1,这里无需改动。

构建RPM包

 rpmbuild -ba SPECS/openssh.spec 

RPM包安装步骤

<====================更新openssl,如果openssl大于等于1.1.1版本,跳过此步骤

0、查看openssl版本
openssl version
OpenSSL 1.0.2k-fips  26 Jan 20171、将openssl.tar.gz解压到/usr/local/
tar zxvf openssl.tar.gz -C /usr/local/
2、添加所缺函数库
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
3、更新函数库
ldconfig
4、将旧版本openssl备份
mv /usr/bin/openssl /usr/bin/openssl.old 
5、新版本制作软链接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
6、最后查看版本,更新完毕
openssl version  
OpenSSL 1.1.1p  21 Jun 2022

<==========================升级安装openssh

升级之前请先阅读该总结:
https://blog.csdn.net/avatar_2009/article/details/129665320?spm=1001.2014.3001.5501icon-default.png?t=N7T8http://【OpenSSH升级】无论密码输入正确与否总是登录失败(error: Could not get shadow information for root)# 安装前备份配置文件
mv /etc/ssh/sshd_config /etc/ssh/sshd_config_bak

# 不备份也可以,因为旧文件里的一些配置,新版本可能不识别,导致启动失败;安装完成后,需要关注如下几项被正确配置,否则可能导致密码认证失败。
Port 22
PermitRootLogin yes
PasswordAuthentication yes

# 升级安装
rpm -Uvh openssh* --nodeps

# 修改/etc/ssh/sshd_config

# 重启sshd
chmod 600 /etc/ssh/*key 
service sshd restart  或  systemctl restart sshd
service sshd status  或 systemctl status sshd

# 重启sshd
chkconfig sshd on  或 systemctl enable sshd

# 验证(不关闭当前会话,新建会话,看是否登录成功,如有问题可联系我)
ssh -V
OpenSSH_9.8p1, OpenSSL 1.1.1p  21 Jun 2022

这篇关于构建并升级openssh至OpenSSH_9.8p1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110516

相关文章

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Python利用PySpark和Kafka实现流处理引擎构建指南

《Python利用PySpark和Kafka实现流处理引擎构建指南》本文将深入解剖基于Python的实时处理黄金组合:Kafka(分布式消息队列)与PySpark(分布式计算引擎)的化学反应,并构建一... 目录引言:数据洪流时代的生存法则第一章 Kafka:数据世界的中央神经系统消息引擎核心设计哲学高吞吐

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

MySQL 升级到8.4版本的完整流程及操作方法

《MySQL升级到8.4版本的完整流程及操作方法》本文详细说明了MySQL升级至8.4的完整流程,涵盖升级前准备(备份、兼容性检查)、支持路径(原地、逻辑导出、复制)、关键变更(空间索引、保留关键字... 目录一、升级前准备 (3.1 Before You Begin)二、升级路径 (3.2 Upgrade

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件