安装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. JavaScript魔法:在线Excel附件上传与下载的完美解决方案

    最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 前言 在本地使用Excel时,经常会有需要在Excel中添加一些附件文件的需求,例如在Exce ...

  2. C语言的指定初始化

    ----------------版权声明:本文为CSDN博主「Supan-Yang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog ...

  3. 官网使用conda&pip安装PyTorch命令总结(包含各版本)

    原网页https://pytorch.org/get-started/previous-versions/ 因为有时访问该网站比较慢,所以本博客记录该网页内容 Installing previous ...

  4. 移动端100vh的问题与解决方案

    之所以100vh在移动端出现问题,原因大致如上图,真搞不懂,为什么总是有反人类的设计出现. 经过多方参考,实测有效的方案如下: <style> :root { --vh: 1vh; } & ...

  5. Mac安装Adobe PS_AE_PR等系列软件提示错误代码146怎么办?

    在安装Mac版Adobe系列软件的时候,不管PS.AE.PR.AI等,如果出现错误代码146,下面两个方法能够轻松解决. 解决方法一:需要我们打开「系统设置」-「隐私与安全」-「App管理」,打开「i ...

  6. ServletConfig 类和ServletContext 类

    ServletConfig 类 ServletConfig 类从类名上来看,就知道是 Servlet 程序的配置信息类. Servlet 程序和 ServletConfig 对象都是由 Tomcat ...

  7. python操作ipv6_用python开启临时http服务器及其ipv6支持

    https://blog.csdn.net/weixin_35647799/article/details/112023159

  8. 使用 `Roslyn` 分析器和修复器对.cs源代码添加头部注释

    之前写过两篇关于Roslyn源生成器生成源代码的用例,今天使用Roslyn的代码修复器CodeFixProvider实现一个cs文件头部注释的功能, 代码修复器会同时涉及到CodeFixProvide ...

  9. time series classification and transfer learning

    最近在看几篇最近几年的工作和survey,希望早点能做点东西.

  10. 强!70.3K star ! 推荐一款功能强大、开源、可视化的性能实时监控系统:Netdata

    在当今复杂多变的IT环境中,系统性能的实时监控与分析对于确保业务连续性.系统稳定运行以及快速故障排查至关重要.随着云计算.大数据和微服务架构的普及,对监控系统的要求也日益增高. 今天给大家推荐一款性能 ...