• 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
      
      • 1
    2. 启动telnet

      systemctl start telnet.socket
      
      • 1
    3. 防火墙开放tcp/23端口

       firewall-cmd --permanent --add-port=23/tcp
       firewall-cmd --reload
      
      • 1
      • 2
    4. 默认情况下,linux不允许root用户以telnet方式登录,移除securetty文件

      mv /etc/securetty{,.bak}
      
      • 1
    5. 关闭selinux

      setenforce 0
      sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
      
      • 1
      • 2
    6. 使用windows连接linux

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

      #由于telnet是明文传输,不安全,所以升级完成后,必须停止该服务

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

      systemctl stop sshd
      
      • 1
    2. 卸载所有openssh服务

       yum -y remove openssh
      
      • 1
    3. 安装相关依赖

       yum -y install pam pam-devel zlib zlib-devel openssl-devel
      
      • 1
    4. 备份原ssh配置

      mv /etc/ssh{,.bak}
      
      • 1
    安装最新的OpenSSL(1.1.1g)
    1. 下载

      cd /opt
      wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz --no-check-certificat
      
      • 1
      • 2
    2. 安装

       tar -xzvf openssl-1.1.1g.tar.gz
       cd openssl-1.1.1g
       ./config --prefix=/usr/ --openssldir=/usr/shared
       make && make install
      
      • 1
      • 2
      • 3
      • 4
    3. 查看openssl版本

      openssl version
      
      • 1
    安装最新的OpenSSH(9.0p1)
    1. 下载

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

    如果无法构建,请下载gcc gcc-c++
    yum -y install gcc gcc-c+

    	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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 查看ssh版本

      ssh -V
      
      • 1

      修改配置文件,不限制root登录

      a. 将sshd添加到系统服务

      chkconfig --add sshd
      
      • 1

      b. 启动ssh

      systemctl start sshd
      
      • 1

      c. 修改sshd配置文件

      vim /etc/ssh/sshd_config	
      PermitRootLogin yes					#允许root使用密码登录
      PasswordAuthentication yes 		#允许使用密码登录
      
      • 1
      • 2
      • 3
    2. 重启sshd服务,新开窗口测试

       systemctl restart sshd
      
      • 1
    3. 给/var/run/sshd.pid授权

      chmod 777 /var/run/sshd.pid
      
      • 1
    4. 关闭telnet服务

       systemctl stop telnet.socket
      
      • 1
  • 相关阅读:
    python 如何处理图片 举例说明
    UDS入门至精通系列Service 86
    程序员面试金典 - 面试题 17.17. 多次搜索
    基于HBuilderX+UniApp+ThorUI的手机端前端的页面组件化开发经验
    周鸿祎“中途撤场”哪吒汽车,对造车失去信心,还是另有他途?
    揭示抽象的奥秘:抽象类与接口得一可安天下
    卷积神经网络模型之——VGG-16网络结构与代码实现
    27 WEB漏洞-XSS跨站之代码及httponly绕过
    Jetsonnano B01 笔记1:基础理解—网络配置—远程连接
    2-token生成
  • 原文地址:https://blog.csdn.net/qq_50247813/article/details/134269955