基于开源项目制作:地址: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 -
最后修改:2024年7月27日
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://ospf.me/openssh
共有 0 条评论