背景:安扫漏洞,需要对openssh经行升级
1.先查看升级前的openssh版本
2.避免升级失败断开远程登录,先开启telnt服务用于远程连接(这步可查看其他博客)
3.从欧拉官网下载rpm包,https://www.openeuler.org/zh/other/search/?search=openssh,下载带src的rpm包
3.rpmbuild --rebuild openssh-9.1p1-3.oe2303.src.rpm
有报错,缺啥补啥
yum install audit-libs-devel gtk2-devel krb5-devel libX11-devel libedit-devel libselinux-devel ncurses-devel openldap-devel openssl-devel p11-kit-devel pam-devel perl-generators systemd-devel xauth(因我这里挂载的iso源卸载掉了,现在没法展示出来了)
4.补好环境好,再执行一次rpmbuild --rebuild openssh-9.1p1-3.oe2303.src.rpm --nochecl
执行完后会生成一个文件夹rpmbuild,重新rpmbuild后的rpm包在里面
5.把重新rpmbuild后的rpm包拿出来,然后通过ansible就可以批量升级openssh了
命令如下
rpm -Uvh openssh-9.1p1-3.oe1.bclinux.x86_64.rpm openssh-clients-9.1p1-3.oe1.bclinux.x86_64.rpm openssh-server-9.1p1-3.oe1.bclinux.x86_64.rpm openssh-help-9.1p1-3.oe1.bclinux.noarch.rpm
systemctl daemon-reload
systemctl restart sshd
总结思路:先在本地虚拟机装一个和生产环境一样的镜像系统,然后从官网下载rpm包,再进行重新打包(缺啥补啥,补环境),重新打包后的rpm包就可以直接在生产环境使用了,重新打包好的rpm包见附件
本博客因为是后续补写的,过程不详细,仅仅记录自己的踩坑的过程,仅供参考