CentOS更新OpenSSH
CentOS 系统更新 OpenSSH版本

OpenSSH更新

OpenSSH更新

Linux版本:CentOS 7

文章中更新后的版本为 8.8p1

安装Telnet

安装Telnet,防止OpenSSH更新失败后,无法连接到服务器。

  1. 安装Telnet服务

    1
    2
    # telnet服务由两个服务组成, xinted和telnet
    yum install xinetd telnet-server -y
  2. 配置telnet

    1
    2
    # 增加telnet可登录至终端
    echo -e 'pts/0\npts/1\npts/2\npts/3\npts/4\npts/5' >> /etc/securetty
  3. 启动tenlet

    1
    systemctl start telnet.socket xinetd
  4. 测试是否能够远程连接

    在本地启动一个终端,我这里使用的是windows的powershell,输入命令

    1
    2
    3
    # telnet远程连接命令
    telnet 192.168.0.101
    # 然后输入要远程连接的账号密码即可

OpenSSH升级

  1. 安装依赖

    1
    2
    # 安装依赖
    yum install -y pam* zlib*
  2. 升级OpenSSL

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    # 创建文件夹用于存放安装包
    mkdir ./sshupdate
    # 进入目录
    cd ./sshupdate
    # 下载OpenSSL安装包, 需要提前安装wget
    # (可选操作)安装wget
    # yum install wget -y
    wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1g.tar.gz
    # 解压下载的安装包
    tar -zxvf openssl-1.1.1g.tar.gz
    # 进入解压后的目录
    cd openssl-1.1.1g
    # 配置安装项b
    ./config --prefix=/usr/ --openssldir=/usr/ shared
    # 安装openssl
    make && make install
    # 待安装完成后,查看openssl版本
    openssl version
    # 得到的终端输出如下:
    # OpenSSL 1.1.1g 21 Apr 2020
  3. 备份SSH配置

    1
    2
    # 备份
    mv /etc/ssh /etc/ssh_bak
  4. 停止并卸载原有OpenSSH

    1
    2
    3
    4
    5
    6
    # 停止OpenSSH
    systemctl stop sshd
    # 查看OpenSSH相关服务
    rpm -qa | grep openssh
    # 卸载OpenSSH
    yum remove openssh* -y
  5. 安装升级OpenSSH

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # 进入升级openssl时创建的sshupdate目录
    cd ./sshupdate
    # 下载OpenSSH安装包
    # 可在https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable找到自己想要更新的版本下载
    wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
    # 解压缩下载的安装包
    tar -zxvf openssh-8.8p1.tar.gz
    # 进入解压后的目录
    cd openssh-8.8p1
    # 配置安装项
    ./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
    # 查看升级后的ssh版本
    ssh -V
    # 控制台输出如下:
    # OpenSSH_8.8p1, OpenSSL 1.1.1g 21 Apr 2020
  6. 配置OpenSSH

    1
    2
    3
    4
    5
    6
    7
    8
    # 修改sshd_config文件,允许root账号登录
    vim /etc/ssh/sshd_config
    # 修改PermitRootLogin的值为yes
    # PermitRootLogin yes

    # 关闭SELinux
    sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
    setenforce 0
  7. 重启OpenSSH

    1
    2
    3
    4
    5
    # 启动
    service sshd restart
    systemctl restart sshd
    # 设置自启动
    chkconfig --add sshd
  8. 重新开启一个SSH连接,查看是否更新升级成功

    若能成功连接则升级完毕

卸载Telnet

卸载备用远程连接的Telnet服务

1
2
# 卸载telnet服务
yum remove telnet-server xinetd -y
文章作者: imxushuai
文章链接: https://www.imxushuai.com/2021/12/13/40.CentOS更新OpenSSH/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 imxushuai
支付宝打赏
微信打赏