CentOS7 openssh 9.8p1 rpm包制作

omanik 2024-7-27 242 7/27

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

项目支持版本为:

  • CentOS 5/6/7/8/Stream 8/9
  • Amazon Linux 1/2/2023
  • UnionTech OS Server 20
  • openEuler 22.03 (LTS-SP1)
  • AnolisOS 7.9/8.6

制作环境:

CentOS Linux release 7.9.2009 (Core)

CPU架构:x86

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

制作过程:

1.安装编译打包环境

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

2.拉取项目源码

git clone https://github.com/boypt/openssh-rpms.git

3.修改开源脚本

# 修改脚本pullsrc.sh
#第一处
source version.env
改为
source ./version.env

#第二处
wget OPENSSLSRC

wget OPENSSHSRC

wget ASKPASSSRC
中间加上参数
wget --no-check-certificate

wget --no-check-certificate

wget --no-check-certificate
 
# 修改脚本compile.sh
source version.env
改为
source ./version.env
 
# 添加ssh-copy-id命令
[root@ceshi openssh-rpms-main]# cd el7/SPECS/
[root@ceshi SPECS]# ls
openssh.spec
[root@ceshi SPECS]# vim  openssh.spec
# 在install -m644开头上面一行添加
install -m755 contrib/ssh-copy-id $RPM_BUILD_ROOT/usr/bin/ssh-copy-id
# 在%attr(0755,root,root) %{_bindir}/ssh-keygen下面添加
%attr(0755,root,root) %{_bindir}/ssh-copy-id
 
# 修改版本openssl的版本 version.env
# 修改:根据自己的需求改,这里都是目前最新的版本
如需改,把=号后面的包名修改
[root@ceshi openssh-rpms-main]# cat version.env 
OPENSSLSRC=openssl-3.0.14.tar.gz
OPENSSHSRC=openssh-9.8p1.tar.gz
ASKPASSSRC=x11-ssh-askpass-1.2.4.1.tar.gz
PERLSRC=perl-5.38.2.tar.gz
PKGREL=1
 
OPENSSHVER=${OPENSSHSRC%%.tar.gz}
OPENSSHVER=${OPENSSHVER##openssh-}
OPENSSLVER=${OPENSSLSRC%%.tar.gz}
OPENSSLVER=${OPENSSLVER##openssl-}
PERLVER=${PERLSRC%%.tar.gz}
PERLVER=${PERLVER##perl-}

4.将安装包放在downloads目录下

可以执行先执行下载脚本,海外服务器一般没有问题,如果下载不了就手动下载
[root@ceshi openssh-rpms-main]# ./pullsrc.sh

wget https://src.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 http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
wget https://www.openssl.org/source/old/3.3/openssl-3.3.0.tar.gz
 
[root@ceshi downloads]# pwd
/root/mzs/openssh-rpms-main/downloads
[root@ceshi downloads]# ls
openssh-9.8p1.tar.gz  openssl-3.0.14.tar.gz  x11-ssh-askpass-1.2.4.1.tar.gz

5.编译打包

./compile.sh

如果打包报错可以百度解决。只要配置文件没有问题,一般都是提示组件没有安装,yum一下就可以。

打包完成后二进制rpm包在目录openssh-rpms/el7/RPMS/x86_64下,源码包在openssh-rpms/el7/SRPMS/下 资源地址如下:点击下载

6.安装测试

#注意:为安全保证,基于各服务器安全配置不同,安装后可能造成无法使用root账户直接登录,请先创建一个普通用户。

# 安装更新
yum localinstall openssh-*.rpm 
# 授权
chmod 600 /etc/ssh/ssh_host_*
# 重启服务
systemctl  restart sshd
#设置开机自启
systemctl enable sshd
# 检查服务状态
systemctl status sshd
 
# 验证
[root@ceshi x86_64]# ssh -V
OpenSSH_9.8p1, OpenSSL 3.0.14 4 Jun 2024
 
# 打包好的所有rpm就可以传到需要升级的服务器上了,直接执行安装更新就可以了

如设置开机状态失败,大概率是/etc/systemd/system/下没有sshd.service文件。systemd正在尝试以一种兼容旧式SysVinit系统的方式来处理sshd服务,因为sshd可能没有被注册为一个原生的systemd服务。详细解决方案将在其他文章里讲述。

- THE END -
Tag:

omanik

7月27日18:40

最后修改:2024年7月27日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论