• OpenSSH升级


    OpenSSH是SSH协议的免费开源实现,经常会曝出安全漏洞,由于CentOS7自带的OpenSSH版本(OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017)太低,有必要进行新服务器的OpenSSH版本升级。升级OpenSSH升级前首先需要升级OpenSSL。
    本升级教程仅针对CentOS7

    预处理防止升级过程中连接中断
    1、 安装telnet服务

    yum -y install telnet-server
    

    2、 启动telnet

    systemctl start telnet.socket
    

    3、 防火墙开放tcp/23端口

    firewall-cmd --permanent --add-port=23/tcp
    firewall-cmd --reload
    

    4、 默认情况下,linux不允许root用户以telnet方式登录,移除securetty文件

    mv /etc/securetty{,.bak}
    

    5、关闭selinux

    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    

    6、 使用windows连接linux

    命令行使用telnet [服务器IP]
    

    在这里插入图片描述
    #由于telnet是明文传输,不安全,所以升级完成后,必须停止该服务

    同时打开两个ssh窗口,并在其中的一个窗口中运行top命令,防止升级过程中会话中断无法连接服务器
    1、 停掉sshd服务

    systemctl stop sshd
    

    2、 卸载所有openssh服务

    yum -y remove openssh
    

    3、 安装相关依赖

    yum -y install pam pam-devel zlib zlib-devel
    

    4、 备份原ssh配置

    mv /etc/ssh /etc/ssh.bak
    

    安装最新的OpenSSL(1.1.1g)
    1、 下载

    cd /opt
    wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz --no-check-certificat
    

    2、 安装

    tar -xzvf openssl-1.1.1g.tar.gz
    cd openssl-1.1.1g
    ./config --prefix=/usr/ --openssldir=/usr/shared
    make && make install
    

    3、 查看openssl版本

    openssl version
    

    在这里插入图片描述

    安装最新的OpenSSH(9.0p1)
    1、 下载

    cd /opt/
    wget http://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
    

    2、 安装

    tar -zxvf openssh-9.0p1.tar.gz
    cd openssh-9.0p1
    ./configure --with-zlib --with-ssl-dir --with-pam --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh
    make && make install
    cp contrib/redhat/sshd.init /etc/init.d/sshd
    

    3、 查看ssh版本

    ssh -V
    

    在这里插入图片描述
    修改配置文件,不限制root登录
    1、 将sshd添加到系统服务

    chkconfig --add sshd
    

    2、 启动ssh

    systemctl start sshd
    

    3、 修改sshd配置文件

    vim /etc/ssh/sshd_config	
    

    PermitRootLogin yes #允许root使用密码登录
    PasswordAuthentication yes #允许使用密码登录
    在这里插入图片描述

    4、 重启sshd服务,新开窗口测试

    systemctl restart sshd
    

    在这里插入图片描述
    5、给/var/run/sshd.pid授权

    chmod 777 /var/run/sshd.pid
    

    关闭telnet服务

    systemctl stop telnet.socket 
    
  • 相关阅读:
    工具及方法 - 多邻国: Duolingo
    【Robotframework+python】实现http接口自动化测试
    信噪比和比特误码率之间的关系通过matlab仿真计算出
    C语言课程设计题目汇总与要求
    CMS垃圾收集器与三色标记算法详解
    PyTorch搭建AlexNet网络模型
    一文搞清楚Java中常见的IO模型
    数据结构学习系列之单向链表的清空与销毁
    C++ 求 最长连号
    注解深入&动态代理
  • 原文地址:https://blog.csdn.net/qq_50247813/article/details/126956770