升级OpenSSH版本(安装telnet远程管理主机)

2024-05-06 15:44

本文主要是介绍升级OpenSSH版本(安装telnet远程管理主机),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 OpenSSH是什么

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制,

或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、

rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工

具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。

1 为什么要升级OpenSSH OpenSSH

是用于 安全 远程登录和其他安全 网络 服务的软件包,对于大多数Linux发行版来说,它都是默认

安装的。 随着时间的推移,OpenSSH的新版本可能会引入安全性更新和改进,因此升级到最新版

本是很有必要的。 特别是对于CentOS 7,由于它已经停止了官方支持,因此及时升级系统组件变

得更加重要。

2 SSH协议有两个版本:

        v1:基于CRC-32 做MAC,不安全; (一般用于实现主机认证)

        v2:基于协议协商选择双方都支持的最安全的MAC机制

            基于DH做密钥交换,基于RSA或DSA实现身份认证,从而实现无需输入账号密码

            客户端通过检查服务器端的主机秘钥来判断是否能够继续通信;

3 认证方式:

        1 基于口令的认证

        2 基于密钥的认证

为什么要使用OpenSSH:

    由于传统的telnet、rcp ftp等工具是明文传输数据的,对数据安全性存在很大的安全隐患,

OpenSSH可以对传输的数据进行加密从而大大提高了数据的安全性

二 升级OpenSSH至8.9版本

1 环境介绍

升级版本原因:OpenSSH有严重漏洞,因此要升级到最新版本

首先查看ssh版本

ssh -V  ##查看当前版本

关闭防火墙及核心防护

systemctl stop firewalld
setenforce 0

2、检查是否安装telnet

为了防止升级安装失败,无法使用ssh做远程连接,因此先安装telnet预防

rpm -q telnet-server   ##telnet服务端rpm -q telnet          ##telnet客户端

3 安装telnet

yum install telnet-server -yyum install telnet -y或者yum install telnet* -y

4 启动telnet服务

systemctl start telnet.socketsystemctl enable telnet.socketsystemctl status telnet.socketss -natp |grep 23

5 安全文件关闭或者修改(否则root无法telnet登录)

默认情况下,系统是不允许root用户telnet远程登陆的,如果要使用root用户直接登录,需设置以下内容。或者可以添加一个可以登录的用户,登录并su到root用户

mv /etc/securetty /etc/securetty.bak或者
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty

6 安装依赖包

yum -y install zlib*yum -y install pam-*yum -y install gccyum -y install openssl-devel

7 备份原有SSH服务版本

mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak

8 下载OpenSSH升级所需安装包

官方下载地址:Index of /pub/OpenBSD/OpenSSH/portable/

./configure --sysconfdir=/etc/ssh

 

 

11 查看SSH命令的执行路径

which sshd

12 复制源码解压路径的开机启动脚本 

cp /opt/openssh-8.9p1/contrib/redhat/sshd.init /etc/init.d/sshdls /etc/init.d/

13 修改开机启动文件

sed -i '25cSSHD=/usr/local/sbin/sshd' /etc/init.d/sshdsed -i '41c/usr/local/bin/ssh-keygen -A' /etc/init.d/sshd

14 修改配置文件,允许root用户通过ssh远程登录 

sed -i "/#PermitRootLogin prohibit-password/c\PermitRootLogin yes" /etc/ssh/sshd_config

15 复制文件到/usr/local/bin/下,增加执行权限

cp /opt/openssh-8.9p1/contrib/ssh-copy-id /usr/local/bin/chmod +x /opt/openssh-8.9p1/contrib/ssh-copy-id

16 启动sshd服务并验证更新是否成功

#启动
service sshd start#查看版本号
ssh -V

这篇关于升级OpenSSH版本(安装telnet远程管理主机)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964735

相关文章

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境