CentOS7下制作OpenSSH 8.4p1 RPM包

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
简介: CentOS7下制作OpenSSH 8.4p1 RPM包

640.jpg

CentOS7下制作OpenSSH 8.4p1 RPM包


1、准备条件


1)openssh-8.4p1.tar.gz源码包


https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz

640.jpg

640.jpg

2)x11-ssh-askpass-1.2.4.1.tar.gz 源码包


wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7


640.jpg

640.jpg


2、rpm-build以及编译打包环境搭建


yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel

640.jpg

mkdir -p /root/rpmbuild/SOURCES
mkdir -p /root/rpmbuild/SPECS
cp /root/openssh-8.4p1.tar.gz /root/rpmbuild/SOURCES/
cp /root/x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOURCES/
tar -zxf openssh-8.4p1.tar.gz -C /opt
cp /opt/openssh-8.4p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS/
chown sshd:sshd /root/rpmbuild/SPECS/openssh.spec 

640.jpg

3、修改openssh.spec 并进行打包


vi openssh.spec


将原先openssh.spec中的

%global no_x11_askpass 0

%global no_gnome_askpass 0

修改为

%global no_x11_askpass 1

%global no_gnome_askpass 1


640.jpg

并注释掉#BuildRequires: openssl-devel < 1.1  

因为openssl安装的版本都低于1.1


640.jpg

640.jpg


这时就可以rpmbuild打包了


rpmbuild -ba openssh.spec


打包开始和打包完成时的截图如下

640.jpg

640.jpg

4、压缩并下载生成的rpm包


cd /root/rpmbuild/RPMS/x86_64
ll
tar -zcvf openssh-8.4p1_rpm_package.tar.gz *.rpm
sz openssh-8.4p1_rpm_package.tar.gz

640.jpg


5、升级openssh 8.4p1进行验证


在另外一台CentOS7.6机器上升级openssh版本

升级前的版本openssh7.4p1

640.jpg


1)上传解压openssh-8.4p1_rpm_package.tar.gz


cd /opt
tar -zxvf openssh-8.4p1_rpm_package.tar.gz


解压出来的如下4个rpm

640.png

openssh-8.4p1-1.el7.x86_64.rpm    
openssh-clients-8.4p1-1.el7.x86_64.rpm    
openssh-server-8.4p1-1.el7.x86_64.rpm
openssh-debuginfo-8.4p1-1.el7.x86_64.rpm

2)备份配置后rpm -Uvh升级到openssh8.4p1


mkdir /etc/sshconfig_backup
cp /etc/ssh/sshd_config /etc/sshconfig_backup/
cp /etc/pam.d/sshd /etc/sshconfig_backup/pam.d_sshd

rpm -Uvh openssh*.rpm进行手动升级


rpm -Uvh openssh*.rpm

3)还原配置文件


cp /etc/sshconfig_backup/sshd_config /etc/ssh/sshd_config 
cp /etc/sshconfig_backup/pam.d_sshd /etc/pam.d/sshd
并加上PermitRootLogin yes允许root用户登录
sed -i "s/#PermitRootLogin yes/PermitRootLogin yes/g" /etc/ssh/sshd_config
cat /etc/ssh/sshd_config | grep PermitRootLogin
删除/etc/ssh/目录下相关key文件,否则重启sshd服务会报错
rm -rf /etc/ssh/ssh_host_*
service sshd restart


640.jpg

4)验证openssh版本信息


ssh -V
rpm -qa | grep openssh


如下图所示说明升级成功


640.jpg


注意openssh8.4p1 rpm包所使用的openssl为1.0.2k版本

相关文章
|
安全 Linux Shell
CentOS7下快速升级OpenSSH至8.9p1安全版本
CentOS7下快速升级OpenSSH至8.9p1安全版本
3393 0
CentOS7下快速升级OpenSSH至8.9p1安全版本
|
14天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
49 3
|
15天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
31 2
|
3月前
|
Linux 网络安全
CentOS7更新OpenSSH
CentOS7更新OpenSSH
130 5
|
4月前
|
Linux C语言 Perl
centos实现离线更新openssh
在CentOS上离线更新OpenSSH: 升级完成后, OpenSSH 版本应为 9.3。务必先备份重要数据与配置并测试系统。
435 2
|
安全 算法 中间件
CentOS7下rpm包方式升级openssl到安全版本1.1.1n
CentOS7下rpm包方式升级openssl到安全版本1.1.1n
4024 0
CentOS7下rpm包方式升级openssl到安全版本1.1.1n
|
6月前
|
安全 Linux 网络安全
猿创征文|centos7升级openssh服务(再也不怕漏扫啦)
猿创征文|centos7升级openssh服务(再也不怕漏扫啦)
378 0
|
6月前
|
关系型数据库 MySQL Linux
Centos7下使用RPM包安装MySQL8
Centos7下使用RPM包安装MySQL8
701 0
|
Linux 网络安全
实验:CentOS 7 编译安装最新版 OpenSSH 9.4p1
CentOS7 升级安装 OpenSSH 9.4p1 OpenSSL 3.0.10
1293 1
|
自然语言处理 Linux 网络安全
CENTOS 升级SSH至8.0P1 用户无法登录Permission denied (publickey,password,keyboard-interactive)
CENTOS 升级SSH至8.0P1 用户无法登录Permission denied (publickey,password,keyboard-interactive)
647 0