linux下源码编译制作openssh-9.8p1-rpm包,以修复CVE-2024-6387漏洞

在这里插入图片描述
漏洞详情见上图和相关连接 https://nvd.nist.gov/vuln/detail/CVE-2024-6387

本文在CentOS(x86) 和 麒麟sp3(arm)系统上均验证成功

准备工作

下载源码包和依赖,相关连接如下
openssh-9.8p1.tar.gz
x11-ssh-askpass-1.2.4.1.tar.gz

一、安装所需依赖包

#配置RPM构建环境
yum install rpmdevtools    

二、RPM制作

rpmdev-setuptree   
tar -xzvf  openssh-9.8p1.tar.gz
cp openssh-9.8p1/contrib/redhat/openssh.spec /root/rpmbuild/SPECS/
cp openssh-9.8p1.tar.gz /root/rpmbuild/SOURCES/
cp x11-ssh-askpass-1.2.4.1.tar.gz /root/rpmbuild/SOURCES/

[root@localhost ~]# tree rpmbuild/
rpmbuild/
├── BUILD
├── RPMS
├── SOURCES
│   ├── openssh-9.8p1.tar.gz
│   └── x11-ssh-askpass-1.2.4.1.tar.gz
├── SPECS
│   └── openssh.spec
└── SRPMS

# 编译并生成rpm
cd ~/rpmbuild/SPECS
rpmbuild -ba openssh.spec

# 编译完成后的rpm包生成在rpmbuild/RPMS目录中
[root@localhost rpmbuild]# ls RPMS/x86_64/
openssh-9.8p1-1.el7.x86_64.rpm
openssh-askpass-9.8p1-1.el7.x86_64.rpm
openssh-askpass-gnome-9.8p1-1.el7.x86_64.rpm
openssh-clients-9.8p1-1.el7.x86_64.rpm
openssh-debuginfo-9.8p1-1.el7.x86_64.rpm
openssh-server-9.8p1-1.el7.x86_64.rpm


三、备份ssh配置

mkdir -p /backup/ssh_backup/pam.d
cp /etc/pam.d/sshd /backup/ssh_backup/pam.d/
cp -r /etc/ssh /backup/ssh_backup/

四、安装openssh,注意离线安装可能缺少依赖,需要手动解决

#在线环境
yum localinstall open*.rpm

#离线环境
rpm -ivh --force --nodeps open*.rpm

报错1 /usr/include/X11/Shell.h:51:26: 致命错误:X11/SM/SMlib.h:没有那个文件或目录

# 缺少依赖,去yum地址找包或者yum install 解决
yum install libSM-devel

报错2 /usr/include/X11/Shell.h:51:26: 致命错误:X11/ICE/ICElib.h:没有那个文件或目录

# 缺少依赖,去yum地址找包或者yum install 解决
yum install libICE-devel

五、还原配置文件

cp /backup/ssh_backup/pam.d/sshd /etc/pam.d/
chmod 400 /etc/ssh/ssh_host_*

六、查看升级状态

ssh -V
OpenSSH_9.8p1, without OpenSSL
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值