• CentOS 7.x 升级OpenSSH


    升级SSH 存在中断风险,如果SSH 升级失败将会导致终端无法登录,建议在使用本地虚拟机进行测试后对线上生产环境进行升级操作!!!

    三级等保评测中对主机进行漏洞扫描发现linux主机存在高危漏洞,查看发现是OpenSSH版本过低导致,于是对主机系统OpenSSH软件版本进行升级。

    升级有风险操作需谨慎(使用telnet 兜底)可选操作

    安装xinted

    xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。telnet服务就是通过xinetd服务来管理的,所以在安装telnet服务之前需要先安装xinetd服务。

    yum install -y xinetd
    

    yum 安装telnet-server telnet-client

    yum -y install telnet-server telnet
    

    查看软件版本

    rpm -qa telnet-server 
    telnet-server-0.17-66.el7.x86_64
    

    配置telnet 文件

    若此文件不存在,则创建这个文件。将其中disable=yes改为disable=no或注释掉。

    vim /etc/xinetd.d/telnet
    service telnet
    {
            flags           = REUSE
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/sbin/in.telnetd
            log_on_failure  += USERID
            disable         = no
            }
    

    重启服务

    systemctl restart xinetd
    systemctl restart telnet.socket
    

    telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,创建普通用户登录系统切换root。

    telnet 测试

    telnet 192.168.99.147
    

    查看系统版本 ssh版本

    #查看系统版本
    cat  /etc/redhat-release 
    CentOS Linux release 7.5.1804 (Core) 
    #查看ssh 版本
    ssh -V
    OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
    

    更新并安装所需要的依赖

    yum install -y make  gcc gcc-c++  openssl-devel zlib zlib-devel pam-devel
    

    下载 解压 openssh8.5压缩包

    cd /usr/local/src
    wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz
    tar  -zxvf openssh-8.5p1.tar.gz
    

    测试及编译源码

    cd openssh-8.5p1
    ./configure  --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam  --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening
    

    删除/etc/ssh/下的密钥对(只删除密钥对即可,重启会重新生成)

    rm -rf /etc/ssh/ssh_host_*
    

    make安装

    make && make install
    

    修改配置文件

    vim /etc/ssh/sshd_config 
    PermitRootLogin yes  
    PasswordAuthentication yes
    #GSSAPIAuthentication yes
    #GSSAPICleanupCredentials no
    

    将源码安装包中 opensshd.init 文件复制到 /etc/init.d/ 目录下并添加可执行权限

    cp  /usr/local/src/openssh-8.5p1/opensshd.init /etc/init.d/sshd.init
    chmod  u+x /etc/init.d/sshd.init
    

    启动ssh服务

    /etc/init.d/sshd.init start
    

    备份原有sshd.service文件

    mv  /usr/lib/systemd/system/sshd.service  /usr/local/src
    

    添加sshd.service 文件

    vim /usr/lib/systemd/system/sshd.service
    
    # Automatically generated by systemd-sysv-generator
    
    [Unit]
    Documentation=man:systemd-sysv-generator(8)
    SourcePath=/etc/rc.d/init.d/sshd.init
    Description=SYSV: OpenSSH server daemon
    
    [Service]
    Type=forking
    Restart=no
    TimeoutSec=5min
    IgnoreSIGPIPE=no
    KillMode=process
    GuessMainPID=no
    RemainAfterExit=no
    PIDFile=/var/run/sshd.pid
    ExecStart=/etc/rc.d/init.d/sshd.init start
    ExecStop=/etc/rc.d/init.d/sshd.init stop
    ExecReload=/etc/rc.d/init.d/sshd.init reload
    

    重载配置,重启ssh服务

    systemctl daemon-reload
    systemctl  restart sshd
    

    查看当前ssh版本

    [root@gitlab openssh-8.5p1]# ssh -V
    OpenSSH_8.5p1, OpenSSL 1.0.2k-fips  26 Jan 2017
    
    [root@gitlab openssh-8.5p1]# telnet 127.0.0.1 22     
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    SSH-2.0-OpenSSH_8.5
    
    Invalid SSH identification string.
    Connection closed by foreign host.
    
  • 相关阅读:
    《一线架构师实践指南》第三编Refined Architecture阶段读后感
    大数据技术与应用课堂测试2-数据初级分析分类2
    大数据技术与应用课堂测试2-数据初级分析分类
    对Datax的理解
    2020春季学期第三周总结
    可测试性战术总结
    2020春季学期第一周总结
    以《淘宝网》为例,描述质量属性的六个常见属性场景
    软件架构师如何工作
    MapReduce+HIVE 课堂练习
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/14666260.html
Copyright © 2020-2023  润新知