zoukankan      html  css  js  c++  java
  • OpenSSH升级

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

    预处理防止升级过程中连接中断

     1 #安装telnet服务
     2 yum -y install telnet-server
     3 #启动telnet服务
     4 systemctl start telnet.socket
     5 #开启防火墙23端口
     6 firewall-cmd --permanent --add-port=23/tcp --zone=public
     7 firewall-cmd --reload
     8 #windows打开cmd窗口,telnet即可登陆服务器
     9 telnet [服务器ip]
    10 #默认情况下,linux不允许root用户以telnet方式登录linux主机,移除securetty文件
    11 mv /etc/securetty{,.bak}
    12 之后就可以用root登录



    由于telnet是明文传输,不安全,所以升级完成后,必须停止该服务
    停止服务并卸载原有的OpenSSH
    ::: danger
    同时打开两个ssh窗口,并在其中的一个窗口中运行top命令,防止升级过程中会话中断无法连接服务器

    1 systemctl stop sshd
    2 #查看rpm安装的ssh
    3 rpm -qa | grep openssh
    4 #卸载rpm安装的ssh
    5 rpm -e openssh --nodeps && rpm -e openssh-clients --nodeps && rpm -e openssh-server --nodeps
    6 #查看rpm安装的ssh是否卸载
    7 rpm -qa | grep openssh         



    预操作

    1 #安装相关依赖
    2 yum install -y pam* zlib*
    3 #备份原ssh配置
    4 mv /etc/ssh /etc/ssh_bak



    安装OpenSSL(1.1.1g)

     1 mkdir ./sshupdate
     2 cd ./sshupdate
     3 wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
     4 tar -xzvf openssl-1.1.1g.tar.gz
     5 cd openssl-1.1.1g
     6 ./config --prefix=/usr/ --openssldir=/usr/ shared
     7 make && make install
     8 #完成后看下openssl版本
     9 openssl version
    10 OpenSSL 1.1.1g  21 Apr 2020



    安装OpenSSH(8.3p1)

    1 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz
    2 tar -xzvf openssh-8.3p1.tar.gz
    3 cd openssh-8.3p1
    4 ./configure --with-zlib --with-ssl-dir --with-pam --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh
    5 make && make install
    6 cp contrib/redhat/sshd.init /etc/init.d/sshd
    7 #完成后看下ssh版本
    8 ssh -V
    9 OpenSSH_8.3p1, OpenSSL 1.1.1g  21 Apr 2020



    修改配置文件

    1 vim /etc/ssh/sshd_config
    2 查找#PermitRootLogin prohibit-password 改成 PermitRootLogin yes 并取消注释
    3 同时如果端口非22端口,需要更改为对应端口
    4 
    5 #关闭selinux
    6 sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    7 setenforce 0



    重启OpenSSH

    1 nohup service sshd restart
    2 nohup systemctl restart sshd
    3 #添加到自启动
    4 chkconfig --add sshd



    测试

    重开窗口连接对应服务器,如ssh跳转登录失败的,清空/root/.ssh/下面的文件即可。

  • 相关阅读:
    Yii中CreateUrl的使用总结
    scite配置文件及常用设置
    smarty中判断数组是否为空的方法
    Notepad++添加插件Funtion List 支持PHP
    类的例子1
    class的使用
    lambda 的使用汇总
    作用域
    模块的整理汇总
    函数使用的健壮性
  • 原文地址:https://www.cnblogs.com/zhaoying/p/15108318.html
Copyright © 2011-2022 走看看