CentOS7.6升级到openssh8.0p

CentOS7.6升级openssh到8.0版本

CentOS7.6/7.5默认的openssh版本为7.4p1,最近对服务器进行扫描,发现在openssh7.8以下版本存在漏洞 OpenSSH 安全漏洞(CVE-2018-15473) OpenSSH 安全漏洞(CVE-2017-15906) OpenSSH 安全漏洞(CVE-2018-15919),针对以上漏洞,对openssh进行升级到8.0

安装包准备

  1. openssl-1.0.2r.tar.gz和openssh-8.0p1.tar.gz
    链接:https://pan.baidu.com/s/1qyU6HOFs_GzBnm2ICvveMA
    提取码:k95g

  2. 传输对应的文件到服务器

    • 打开对应的传输程序SCP或者Filezilla 这里使用SCP举例
      CentOS7.6升级到openssh8.0p_第1张图片
    • 输入对应的服务器ip和用户名密码

升级步骤(putty或者CRT等其他软件打开服务器)

  1. 创建传输文件夹
  mkdir /root/package

创建后,利用SCP软件传入文件(这里使用root账号登录就行)

  1. 安装依赖

    yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel
    
  2. 安装pam,zlib和net-tools等(pam和zlib对安装有无影响不确定,请自行测试)

    yum install  -y pam* zlib* net-tools
    
  3. 安装openssl
    ①解压并查看原始版本

     cd  /root/package
     tar -zxvf openssl-1.0.2r.tar.gz
     openssl version      #查看老版本
    

    在这里插入图片描述
    ②备份下面2个文件或目录(如果存在的话就执行)

     ll /usr/bin/openssl
     mv /usr/bin/openssl /usr/bin/openssl_bak
     ll /usr/include/openssl
     mv /usr/include/openssl /usr/include/openssl_bak
    

    ③编译安装

      cd openssl-1.0.2r
      ./config shared && make && make install
      #查看编译安装有无报错 如果为0则正常
      echo $?    
    

    ④创建软连接

     ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
     ln -s /usr/local/ssl/include/openssl /usr/include/openssl
     ll /usr/bin/openssl
     ll /usr/include/openssl -ld
    

    ⑤执行下面2个命令加载新配置

     echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
     /sbin/ldconfig
    

    ⑥查看版本是否更新成功

     openssl version
     ##OpenSSL 1.0.2r  26 Feb 2019
    
  4. 安装openssh
    ①解压目录并赋予对应权限

     cd /root/package/
     tar -zvxf openssh-8.0p1.tar.gz
     cd openssh-8.0p1
     chown -R root.root /root/package/openssh-8.0p1
    

    ②删除原先ssh的配置文件和目录

     rm -rf /etc/ssh/*
    

    ③配置、编译、安装

       ./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include  --      with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   --with-pam  && make && make install
    

    注意:这是一行语句,我执行时候会报错
    CentOS7.6升级到openssh8.0p_第2张图片
    解决:

     chmod 600 /etc/ssh/ssh_host_*
     install -v -m755 contrib/ssh-copy-id /usr/bin
     install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
     install -v -m755 -d /usr/share/doc/openssh-8.0p1
     install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-8.0p1
     #最后查看编译安装有无报错 如果为0则正常
     echo $?
    

    ④更改配置文件

    echo 'UsePAM yes' >> /etc/ssh/sshd_config
    echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
    ------第二步一般在正式环境不做更改,第二步是允许root远程直接登录--------
    

    ⑤从原先的解压的包中拷贝一些文件到目标位置

    cp -a contrib/redhat/sshd.init /etc/init.d/sshd
    cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
    chmod +x /etc/init.d/sshd
    chkconfig --add sshd
    systemctl enable sshd
    

    ⑥把原先的systemd管理的sshd文件删除或者移走或者删除,不移走的话影响我们重启sshd服务

     mv  /usr/lib/systemd/system/sshd.service  /root/package/
    

    ⑦开机自动启动

     chkconfig sshd on
     systemctl enable sshd.socket
    

    ⑧重启服务

     /etc/init.d/sshd restart
     netstat -lntp
     或者
     systemctl restart sshd
     附加启动停止命令
     systemctl stop sshd
     systemctl start sshd
    

    ⑧查看版本

     ssh -V
     #OpenSSH_8.0p1, OpenSSL 1.0.2r  26 Feb 2019
    

最后不关闭putty或者scrt,创建新连接测试是否成功

成功连接!!到此openssh升级成功

你可能感兴趣的:(组件升级)