centos7 openssh9.7p 制作rpm包
- 下载源码包:
- 通过git开源打包源码
- 准备编译打包环境
- 编译打包
- 上传rpm包到需要更新的服务器,并更新
下载源码包:
一般只用ssh源码就可以了
cd /root
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1w.tar.gz
通过git开源打包源码
yum install git
git clone https://github.com/boypt/openssh-rpms.git
在执行命令路径下会生成openssh-rpms文件夹
将我们下载的ssh ssl源码包移动到downloads目录下
mv openssh-9.7p1.tar.gz /root/openssh-rpms/downloads/
mv openssl-1.1.1w.tar.gz /root/openssh-rpms/downloads/
准备编译打包环境
yum groupinstall -y "Development Tools"
yum install -y imake rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel
修改git开源脚本pullsrc.sh
vim /root/openssh-rpms/pullsrc.sh
source version.env 变更为 source ./version.env
修改git开源脚本compile.sh
vim /root/openssh-rpms/compile.sh
source version.env 变更为 source ./version.env
修改 openssh.spec 添加ssh-copy-id命令
vim /root/openssh-rpms/el7/SPECS/openssh.spec
307 行后添加
install -m755 contrib/ssh-copy-id $RPM_BUILD_ROOT/usr/bin/ssh-copy-id
390行后添加(注意307行添加后390就变成了392行)
%attr(0755,root,root) %{_bindir}/ssh-copy-id
修改版本openssl的版本 version.env
修改成我们对应的版本,即我们上面提到的downloads目录下所存放的文件
vim /root/openssh-rpms/version.env
OPENSSLSRC=openssl-1.1.1w.tar.gz
OPENSSHSRC=openssh-9.7p1.tar.gz
编译打包
cd /root/openssh-rpms/
./compile.sh el7
等几分钟编译完成后再对应目录查看rpm包
cd /root/openssh-rpms/el7/RPMS/x86_64
cd ..
tar -czvf centos7_x86_64_openssh9.7p1.tar.gz x86_64/
上传rpm包到需要更新的服务器,并更新
备份
cp -a /etc/ssh /etc/ssh.bak
cd /tmp
tar -xzvf centos7_x86_64_openssh9.7p1.tar.gz
yum install ./openssh-9.7p1-1.el7.x86_64.rpm ./openssh-clients-9.7p1-1.el7.x86_64.rpm ./openssh-server-9.7p1-1.el7.x86_64.rpm
rm -rf /etc/ssh/ssh_host_*
systemctl enable sshd
systemctl restart sshd
ssh -V