安装Telnet服务

为了避免升级OpenSSH导致服务器不可连接。需要先下载安装Telnet组件。升级期间使用Telnet作为升级期间的服务器连接方式。

  1. 先查询telnet是否安装

    rpm -qa telnet
  2. 如果没有安装则执行以下语句安装

    yum -y install telnet
  3. 查询telnet-server是否安装

    rpm -qa telnet-server
  4. 如果没有安装则执行以下语句安装

    yum -y install telnet-server
  5. 防火墙状态放行telent

    firewall-cmd --permanent --add-port=23/tcp --zone=public
  6. 防火墙重新载入

    firewall-cmd --reload
  7. 启用Telnet服务开机启动

    systemctl enable telnet.socket
  8. 启动Telnet服务

    systemctl start telnet.socket

*注意:

  • 若防火墙是已经禁用。请略过防火墙相关命令
  • 若防火墙是暂时停止。建议先启动防火墙,添加访问策略!否则重装过程需要服务器重启,重启后可能因为防火墙原因无法通过telnet访问服务器。如果OpenSSH又安装失败,将导致服务器不可连接。附:防火墙启动命令 systemctl start firewalld

创建使用Telnet服务的账户

因为默认情况root 不能直接登录telnet

创建一个新用户用于登录elnet服务,这个账号升级完成后需要进行删除。

  1. 创建账号

    sudo useradd tempuser
  2. 设置密码

    sudo passwd tempuser

    输入一个密码,例如:Mycar=998

    后续访问的时候,通过XShell工具连接

    先用tempuser登录后,再使用

    su root

    切换到root用户。

升级OpenSSH

请特别注意:以下命令是使用Telnet连接后,切换到root账户进行操作。如果直接使用SSH链接进行操作,将可能会导致服务器无法连接的后果!!!

  1. 安装相关的依赖项,如有遗漏再次安装

    yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano

    yum -y install perl-IPC-Cmd

    yum -y install pam-devel
  2. 安装相关的依赖项,如有遗漏再次安装

    yum -y install gcc pam-devel zlib-devel openssl-devel net-tools
  3. 进入本地临时目录

    cd /usr/local/src
  4. 下载源代码包

    wget https://www.zlib.net/zlib-1.3.1.tar.gz

    wget https://www.openssl.org/source/openssl-3.3.1.tar.gz

    wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz

    说明:以上安装包下载可能需要耗费不少时间!如果下载速度很慢,可以考虑去我个人分享的网盘下载。
  5. 解压缩代码包

    tar -zxvf zlib-1.3.1.tar.gz

    tar -zxvf openssl-3.3.1.tar.gz

    tar -zxvf openssh-9.8p1.tar.gz

城通网盘下载文件包 (访问密码: 1133)

安装Zlib

  1. 进入zlib-1.3.1目录

    cd /usr/local/src/zlib-1.3.1
  2. 配置

    ./configure --prefix=/usr/local/src/zlib
  3. 编译及安装

    make -j 4 && make test && make install

安装OpenSSL

  1. 进入openssl-3.3.1目录

    cd /usr/local/src/openssl-3.3.1
  2. 配置

    ./config --prefix=/usr/local/src/openssl
  3. 编译及安装

    make -j 4 && make install
  4. 配置

    mv /usr/bin/openssl /usr/bin/oldopenssl

    ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl

    ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3

    ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
  5. 更新动态库

    vim /etc/ld.so.conf

    添加 /usr/local/src/openssl/lib64 到文件中。并删除类似的旧行。我这边实际1情况是删除了 /usr/local/openssl/lib64

    ldconfig
  6. 查看更新后的版本

    openssl version -v

卸载旧版本OpenSSH

  1. 卸载旧版本OpenSSH服务

    yum remove -y openssh
  2. 清理残余文件

    rm -rf /etc/ssh/*

安装最新版OpenSSH服务

  1. 进入openssh-9.8p1目录

    cd /usr/local/src/openssh-9.8p1
  2. 配置

    ./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib
  3. 编译及安装

    make -j 4 && make install
  4. 查看目录版本

    /usr/local/src/ssh/bin/ssh -V
  5. 复制新ssh文件

    cp -rf /usr/local/src/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/sshd

    cp -rf /usr/local/src/openssh-9.8p1/contrib/redhat/sshd.pam /etc/pam.d/sshd

    cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd

    cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh

    cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen
  6. 允许root登录

    echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config

    echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

安装后的收尾

  1. 重启sshd服务

    /etc/init.d/sshd restart
  2. 查看服务运行状态

    /etc/init.d/sshd status
  3. 添加开机启动

    chkconfig --add sshd
  4. 查看升级后ssh版本

    ssh -V
关闭Telnet服务
  1. 停止Telnet 服务

    systemctl stop telnet.socket
  2. 禁用Telnet服务开机启动

    systemctl disable telnet.socket

删除临时用户

  1. 使用命令删除临时用户

    userdel -rf tempuser

提示:这篇文章只作为学习记录,感谢原作者分享。

参考链接:

https://blog.csdn.net/Jerry_zhy/article/details/141217681

CentOS环境下OpenSSH9.8p1升级实践的更多相关文章

  1. centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复

    centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复 有时候我们会碰到这样的业务场景: 1.将大的数据库恢复到本地进行业务测试 ...

  2. Centos环境下部署游戏服务器-软件安装

    这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个n ...

  3. CentOS环境下R语言的安装和配置

    最近在看数据统计和分析,想到了R语言,于是就着手在自己的CentOS环境下进行安装和配置.步骤如下: 1.前往R官网下载安装包. 2.解压压缩包:tar xvzf R-3.2.2.tar.gz 3.进 ...

  4. 在Centos环境下安装兼容Apache2.4高版本SVN服务

    在阿里云Centos环境下,搭建PHP运行环境,PHP选择了php7版本,Mysql选择了5.7版本,Apache选择了2.4版本,在搭建SVN版本控制服务过程中出现了不兼容问题,当前环境下Apach ...

  5. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  6. CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...

  7. centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库

    centos环境下输入命令不能有中文那么我怎么插入中文数据到数据库 如下图: 首先查看是否安装了中文语言支持组件 yum grouplist 没有的话安装 yum install Chinese Su ...

  8. centos环境下创建数据库和表的方法

    centos环境下创建数据库和表的方法 //查询数据库的命令: mysql> SHOW DATABASES; +--------------------+ | Database         ...

  9. centos环境下登录mysql报 ERROR 1045 (28000)怎么解决

    centos环境下登录mysql报 ERROR 1045 (28000)怎么解决 新入手一台虚拟机,Centos7系列的操作系统,安装mysql后,执行连接出现了Mysql ERROR 1045 (2 ...

  10. Centos环境下手动设置-网络参数配置-网络挨排错顺序-设置网卡为上网模式的设定

    Linux中网络参数大致包含以下内容: IP地址 子网掩码 网关 DNS服务器 主机名(默认 localhost) 历来Linux系统中修改这些参数的方式通常有:命令.文件两种.其中通过命令设置可以立 ...

随机推荐

  1. conda 安装pytorch

    配置:win 10 ,python=3.6 安装pytorch-1.1.0,cudatoolkit-9.0,torchvision-0.3.0. 出现的问题:import torch 的时候,出现了O ...

  2. 卷积神经网络CNN实战:MINST手写数字识别——数据集下载与网络训练

    数据集下载 这一部分比较简单,就不过多赘述了,把代码粘贴到自己的项目文件里,运行一下就可以下载了. from torchvision import datasets, transforms # 定义数 ...

  3. RabbitMQ接口封装

    1.引用 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client< ...

  4. 在 Docker 中启动 Jupyter

    参考:Jupyter Docker Stacks documentation 容器地址在 quay.io/jupyter/scipy-notebook 如果你直接运行命令: docker run -p ...

  5. Ubuntu 安装 Docker Desktop

    介绍 Docker 有两种版本:Docker Desktop 和 Docker Engine (也称作 Docker CE).Docker Desktop 是带图形界面的版本,非常适合需要在桌面环境中 ...

  6. macOS 移除顽固打印机信息

    问题描述 当我打开 Parallels Desktop 的 Ubuntu 虚拟机时,总是会看到打印机已添加的提示: 查看已有打印机信息 $ lpstat -p 打印机Lenovo_M7206W闲置,启 ...

  7. Python 项目及依赖管理工具技术选型

    Python 项目及依赖管理工具,类似于 Java 中的 Maven 与 Node 中的 npm + webpack,在开发和维护项目时起着重要的作用.使用适当的依赖管理工具可以显著提高开发效率,减少 ...

  8. python 猜数字游戏(多版本)

    原始版本 print('------------------你是sb------------------') temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:" ...

  9. vscode 安装历史版本

    修改版本号为想要下载的版本即可 https://update.code.visualstudio.com/{版本}/win32-x64-archive/stable vscode 历史版本地址:Vis ...

  10. 【转】ElasticSearch报错FORBIDDEN/12/index read-only / allow delete (api) ,read_only_allow_delete 设置 windows

    仅供自己记录使用,原文链接:ElasticSearch报错FORBIDDEN/12/index read-only / allow delete (api)_sinat_22387459的博客-CSD ...