虚拟化容器,大数据,DBA,中间件,监控。

Openeuler2203编译安装openssh9.8p1,RPM打包,解决漏洞问题

15 07月
作者:admin|分类:系统运维|标签:openeuler openssh

    Openeuler2203编译安装openssh9.8p1,RPM打包,解决漏洞问题

   

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

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

    OpenSSH-9.8p1 (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.7p1.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.8p1.tar.gz

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

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


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

       根据自己情况修改。

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

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

   

   

       5,修改打包配置文件。

      

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

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

         cd /root/rpmbuild/SPECS

         

       # 解决PreReq报错

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

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

   

       以下是源码包修改了相关配置文件,包含打包配置文件,可以直接用来打包,使用此文件可解决没有ssh-copy-id命令的问题

          

openssh9.8p1源码与RPM包

   

        

   

       6,打包软件

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

        

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

       [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.8p1的rpm包下载地址

   

 openssh9.8p1源码与RPM包

   

浏览141 评论0
返回
目录
返回
首页
华为云21天转型微服务实战营全部资源 OpenEuler2203编译打包升级高版本kernel6.6版本内核