一、编译生成openssl RPM包
2.安装openssl RPM包
3.编译生成openssh RPM包
4. 在测试机上安装openssl 和openssh RPM 包
1.编译生成openssl RPM包
参考:
https://www.kingc.top/archives/centosrhel76-sheng-ji-openssl-he-openssh
1.安装编译环境依赖包。
# yum install -y wget rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel unzip libXt-devel imake gtk2-devel openssl-libscurl 这将创建Perl perl-WWW-Curl
1.
2.下载最新的openssl源码包。
#curl -O –silent https://www.openssl.org/source/openssl-1.1.1t.tar.gz
3.创建openssl.spec文件
概述: Centos 的OpenSSL 1.1.1t
name: openssl
版本:%{?版本}%{!版本:1.1.1t}
发布: 1%{?dist}
已废弃: %{名称}=%{版本}
提供: %{名称}=%{版本}
URL: https://www.openssl.org/
许可证: GPLv2+
来源: https://www.openssl.org/source/%{名称}-%{版本}.tar.gz
BuildRequires: make gcc perl perl-WWW-Curl
BuildRoot: %{_tmppath}/%{名称}-%{版本}-%{发布}-root
# openssldir可以自己更改
%global openssldir /usr/local/openssl
解释
https://github.com/phillyuchkoff/openssl-RPM-Builder
Centos 上的OpenSSL RPM 版本1.1.1t
%packagedevel
摘要: 使用openssl 库的程序的开发文件
Group: 开发/库
需要: %{名称}=%{版本}-%{发布}
%描述开发
Centos 上版本1.1.1t 的OpenSSL RPM(开发包)
准备
%setup-q
建造
./config –prefix=%{openssldir} –openssldir=%{openssldir}
制作
安装
[ \’%{buildroot}\’ !=\’/\’ ] %{__rm} -rf %{buildroot}
%make_install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libssl.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/lib/libcrypto.so.1.1 %{buildroot}%{_libdir}
ln -sf %{openssldir}/bin/openssl %{buildroot}%{_bindir}
干净的
[ \’%{buildroot}\’ !=\’/\’ ] %{__rm} -rf %{buildroot}
文件
%{openssldir}
%defattr(-,根,根)
/usr/bin/openssl
/usr/lib64/libcrypto.so.1.1
/usr/lib64/libssl.so.1.1
%filesdevel
%{openssldir}/包括/*
%defattr(-,根,根)
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
4.编译打包
# mkdir -p /root/rpmbuild/{构建、RPMS、来源、规格、SRPMS}
# cp openssl.spec /root/rpmbuild/SPECS/
# cp openssl-1.1.1t.tar.gz /root/rpmbuild/SOURCES/
# cd /root/rpmbuild/SPECS/
# rpmbuild -D \’版本1.1.1t\’ -ba openssl.spec
5. 确认您不需要生成的安装包。
#ll /root/rpmbuild/RPMS/x86_64
总计5656
-rw-r–r– 1根根5417376 5月12日16:10 openssl-1.1.1t-1.el7.x86_64.rpm
-rw-r–r– 1根根133608 5月12日16:10 openssl-debuginfo-1.1.1t-1.el7.x86_64.rpm
-rw-r–r– 1根根234776 5月12日16:10 openssl-devel-1.1.1t-1.el7.x86_64.rpm
2.安装openssl RPM包
后续编译openssh RPM时要使用新版本的openssl,必须在编译机上安装编译好的openssl RPM包。
无需卸载openssl-libs
# yum 删除openssl
# rpm -e openssl-devel
二
总计5524
-rw-r–r– 1根根5417376 5月12日16:23 openssl-1.1.1t-1.el7.x86_64.rpm
-rw-r–r– 1根根234776 5月12日16:23 openssl-devel-1.1.1t-1.el7.x86_64.rpm
仅安装openssl 和openssl-devel 软件包
# rpm -Uvh *.rpm –nodeps
# rpm -qa |grep openssl
xmlsec1-openssl-1.2.20-7.el7_4.x86_64
openssl-libs-1.0.2k-26.el7_9.x86_64
openssl-1.1.1t-1.el7.x86_64
openssl-devel-1.1.1t-1.el7.x86_64
#openssl版本
OpenSSL 1.1.1t 2023 年2 月7 日
3.编译生成openssh RPM包
1.下载源码包
openssh源码包下载链接:https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
一个在Linux图形上输入密码的软件包。
X11-ssh-askpass下载链接:https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/
2. 编译
# cp openssh-9.3p1.tar.gz /root/rpmbuild/SOURCES/
# cp x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOURCES/
# tar zxvf openssh-9.3p1.tar.gz
# cp openssh-9.3p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS/
# vi /root/rpmbuild/SPECS/openssh.spec
变化如下:
1)修改原来的openssh.spec。
%global no_x11_askpass 0
%global no_gnome_askpass 0
换衣服
%global no_x11_askpass 1
%global no_gnome_askpass 1
2)注释掉#BuildRequires: openssl-devel 1.1。
3)插入–with-ssl-dir=/usr/local/openssl
% 配置、设置\\
–sysconfdir=%{_sysconfdir}/ssh \\
–libexecdir=%{_libexecdir}/openssh \\
–datadir=%{_datadir}/openssh \\
–with-default-path=/usr/local/bin:/bin:/usr/bin \\
–with-superuser-path=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin \\
–with-privsep-path=%{_var}/空/sshd \\
–with-ssl-dir=/usr/local/openssl \\
–mandir=%{_mandir} \\
–with-mantype=人\\
–禁用条带\\
# rpmbuild -ba /root/rpmbuild/SPECS/openssh.spec
3.查看生成的安装包。
#ll /root/rpmbuild/RPMS/x86_64/openssh*
-rw-r–r– 1 root root 667080 5月12日16:47 /root/rpmbuild/RPMS/x86_64/openssh-9.3p1-1.el7.x86_64.rpm
-rw-r–r– 1 root root 639504 5月12日16:47 /root/rpmbuild/RPMS/x86_64/openssh-clients-9.3p1-1.el7.x86_64.rpm
-rw-r–r– 1 root root 3192984 5月12日16:47 /root/rpmbuild/RPMS/x86_64/openssh-debuginfo-9.3p1-1.el7.x86_64.rpm
-rw-r–r– 1 root root 470000 5月12日16:47 /root/rpmbuild/RPMS/x86_64/openssh-server-9.3p1-1.el7.x86_64.rpm
4. 在测试机上安装openssl 和openssh RPM 包
1.安装openssl RPM包
请参阅步骤2。安装openssl RPM 软件包。
2.安装openssh RPM包
# cp /etc/ssh/sshd_config /root/
二
总计1740
-rw-r–r– 1 root root 667080 5月12日17:04 openssh-9.3p1-1.el7.x86_64.rpm
-rw-r–r– 1 root root 639504 5月12日17:04 openssh-clients-9.3p1-1.el7.x86_64.rpm
-rw-r–r– 1 root root 470000 5月12日17:04 openssh-server-9.3p1-1.el7.x86_64.rpm
# rpm -Uvh openssh-*
# mv /root/sshd_config /etc/ssh/
mv: 覆盖“/etc/ssh/sshd_config”?
#rm -rf /etc/ssh/ssh_host_*
# systemctl 重新启动sshd
#ssh -V
OpenSSH_9.3p1、OpenSSL 1.1.1t 2023 年2 月7 日
请注意PAM 问题。如果配置文件中打开UsePAM yes,服务器可能会拒绝登录。要解决该问题,需要修改相应的/etc/pam.d/sshd文件。
#cat/etc/pam.d/sshd
#%PAM-1.0
需要身份验证pam_sepermit.so
身份验证子栈密码身份验证
身份验证包括登录后
# 与polkit 一起使用以重新验证远程会话中的用户身份
准备-auth 选项pam_reauthorize.so
需要帐户pam_nologin.so
帐号包含密码验证
密码包括密码验证
# pam_selinux.so close 必须是第一个会话规则
需要会话pam_selinux.so 关闭
需要会话pam_loginuid.so
# pam_selinux.so open 后面应该只有在用户上下文中运行的会话
需要会话pam_selinux.so 打开env_params
会话需要pam_namespace.so
pam_keyinit.so 强制取消会话选项
会话包括密码验证
会话包括登录后
# 与polkit 一起使用以重新验证远程会话中的用户身份
-会话选项pam_reauthorize.so 准备
以上从网上为#CentOS7编译生成openssl和openssh RPM包的相关内容仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92787.html