哥伦布

博客园 首页 新随笔 联系 订阅 管理

安装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

posted on 2024-08-22 16:31  Caraxes  阅读(955)  评论(0编辑  收藏  举报