openeuler2203升级openssh9.4p1解决漏洞问题

openeuler2203升级openssh9.4p1解决漏洞问题

 

1,使用rpmbuild将tar包打成rpm包,不喜欢编译升级的,使用RPM升级就方便多了。

想使用openssh的源码包编译安装的,参考这里:

OpenSSH-9.4p1 (linuxfromscratch.org)

 

2,准备编译环境

[root@centos7-31 ~]#  yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel  libXt-devel gtk2-devel make perl -y

[root@centos7-31 ~]#  dnf install imake -y 

[root@centos7-31 ~]#  mkdir -p /root/rpmbuild/

[root@centos7-31 ~]#   cd /root/rpmbuild

[root@centos7-31 ~]#    mkdir BUILD BUILDROOT RPMS SOURCES SPECS SRPMS

 

3,下载软件包

[root@centos7-31 ~]#  cd SOURCES/

[root@centos7-31 ~]#  wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz

[root@centos7-31 ~]#  wget https://mirrors.slackware.com/slackware/slackware-14.2/source/xap/x11-ssh-askpass/x11-ssh-askpass-1.2.4.1.tar.gz

 

4,解压软件包,修改相关配置文件,再重新打包

[root@centos7-31 ~]#  tar zxvf openssh-9.4p1.tar.gz 

[root@centos7-31 ~]#   cd openssh-9.4p1/

[root@centos7-31 ~]#   cp /etc/pam.d/sshd contrib/redhat/sshd.pam.old

注意这里还需要修改/root/rpmbuild/SOURCES/openssh-9.4p1/sshd_config文件内容,这样升级后就不修改系统的sshd_config的配置内容。

根据自己情况修改。

[root@centos7-31 ~]#   cd /root/rpmbuild/SOURCES/

[root@centos7-31 ~]#    tar -zcpf openssh-9.4p1.tar.gz openssh-9.4p1

 

 

5,修改打包配置文件。

 

 #将openssh.spec配置文件拷贝到,编译目录下

 cp cd /root/rpmbuild/SOURCES/openssh-9.4p1/contrib/redhat/openssh.spec  /root/rpmbuild/SPECS/ 

 cd /root/rpmbuild/SPECS

 

 #修改openssh.spec配置

 #1.不生成askpass包

 cat /root/rpmbuild/SPECS/openssh.spec | grep no_gnome_askpass

 cat /root/rpmbuild/SPECS/openssh.spec | grep no_x11_askpass

 

sed -i -e "s/%global no_gnome_askpass 0/%global no_gnome_askpass 1/g" openssh.spec

sed -i -e "s/%global no_x11_askpass 0/%global no_x11_askpass 1/g" openssh.spec

 

#2.解决openssl-devel < 1.1报错

cat /root/rpmbuild/SPECS/openssh.spec | grep openssl-devel

sed -i '/openssl-devel < 1.1/s/^/#/' openssh.spec

 

#3.解决PreReq报错

cat /root/rpmbuild/SPECS/openssh.spec | grep PreReq

sed -i '/PreReq/s/^/#/' openssh.spec

 

#4.解决Obsoletes报错

cat /root/rpmbuild/SPECS/openssh.spec | grep Obsoletes

sed -i '/Obsoletes:/s/^/#/' openssh.spec

 

6,打包软件

[root@centos7-31 ~]#   rpmbuild -ba openssh.spec 

 

7,删除旧版软件,并安装openssh9.4p1

[root@centos7-31 ~]#   cd /root/rpmbuild/RPMS/x86_64/

[root@centos7-31 ~]#    rpm -Uvh openssh-*.rpm

或是使用以下命令删除旧软件包,再安装。

[root@centos7-31 ~]#     rpm -e $(rpm -qa |grep openssh) --nodeps

[root@centos7-31 ~]#   rpm -ivh openssh-*.rpm

 

8,检查配置文件内容是否有误,启用sshd服务

[root@centos7-31 ~]#    sshd -t

[root@centos7-31 ~]#     systemctl disable sshd

[root@centos7-31 ~]#     systemctl enable sshd

[root@centos7-31 ~]#    systemctl restart sshd

 

 

以下是openssh9.4p1的rpm包下载地址

openssh9.4.p1.zip

 

 

以下是打包配置文件,使用此文件可解决没有ssh-copy-id命令的问题

 

openssh.spec



转载请标明出处【openeuler2203升级openssh9.4p1解决漏洞问题】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

posted @   技术颜良  阅读(188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2023-01-19 如何用 Go 实现热重启
2021-01-19 在 Linux 中如何查看文件的修改日期
点击右上角即可分享
微信分享提示