CentOS 7 系统中安装与配置 Telnet 服务详解(使用非root用户登录)

目录

  • 前言
  • [1. 安装 Telnet 服务端](#1. 安装 Telnet 服务端)
    • [1.1 更新系统软件源](#1.1 更新系统软件源)
    • [1.2 安装 Telnet 和 xinetd](#1.2 安装 Telnet 和 xinetd)
  • [2. 增加具有管理员权限的用户](#2. 增加具有管理员权限的用户)
    • [2.1 添加新用户](#2.1 添加新用户)
    • [2.2 配置 sudo 权限](#2.2 配置 sudo 权限)
  • [3. 启动和管理 Telnet 服务](#3. 启动和管理 Telnet 服务)
    • [3.1 启动服务](#3.1 启动服务)
    • [3.2 设置服务自启动](#3.2 设置服务自启动)
  • [4. 配置防火墙允许 Telnet 通信](#4. 配置防火墙允许 Telnet 通信)
  • [5. 配置 Telnet 服务](#5. 配置 Telnet 服务)
  • [6. 添加 `pts/0` 终端](#6. 添加 pts/0 终端)
  • [7. 重启 xinetd 服务](#7. 重启 xinetd 服务)
  • [8. 在 Windows 本地终端安装 Telnet 客户端](#8. 在 Windows 本地终端安装 Telnet 客户端)
  • 结语

前言

Telnet 是一种常用于远程终端控制的网络协议。然而,由于缺乏加密功能,Telnet 容易受到安全攻击,尤其是在公共网络环境下已逐渐被 SSH 替代。尽管如此,在某些内网环境或调试任务中,Telnet 仍然是一个有效的工具。本文将详细介绍如何在 CentOS 7 系统中安装、配置并启用 Telnet 服务,同时展示如何允许 root 用户登录 Telnet 进行远程操作。本指南将逐步演示 Telnet 服务的安装、配置、防火墙设置等内容,确保读者能够顺利完成 Telnet 服务的部署。

1. 安装 Telnet 服务端

在 CentOS 7 系统中,默认没有预装 Telnet 服务。因此,我们首先需要通过软件包管理器安装 xinetdtelnet-server,它们是 Telnet 服务的基础组件。

1.1 更新系统软件源

在安装 Telnet 之前,先确保系统的软件源是最新的。可以使用以下命令更新软件包列表:

bash 复制代码
yum update

1.2 安装 Telnet 和 xinetd

通过以下命令安装 xinetdtelnet-server

bash 复制代码
yum -y install xinetd telnet-server

这将自动下载并安装所有必要的依赖包。安装完成后,xinetd 的配置文件将存储在 /etc/xinetd.d 目录中。

2. 增加具有管理员权限的用户

在配置 Telnet 服务时,通常建议创建一个具备管理权限的用户,而不是直接使用 root 登录。以下步骤将展示如何添加用户 test 并为其配置 sudo 权限。

2.1 添加新用户

使用以下命令创建一个新的用户 test

bash 复制代码
adduser test
passwd test

2.2 配置 sudo 权限

修改 sudoers 文件,赋予 test 用户管理员权限:

bash 复制代码
chmod u+w /etc/sudoers
vim /etc/sudoers

root ALL=(ALL) ALL 行下添加以下内容,允许 test 用户执行所有命令时不需要输入密码:

bash 复制代码
test ALL=(ALL) NOPASSWD:ALL

完成后,将 sudoers 文件设为只读:

bash 复制代码
chmod u-w /etc/sudoers

3. 启动和管理 Telnet 服务

安装完成后,我们需要启动 Telnet 服务和 xinetd,并确保它们在系统重启后自动启动。

3.1 启动服务

使用以下命令启动 Telnet 和 xinetd

bash 复制代码
systemctl restart telnet.socket
systemctl restart xinetd

3.2 设置服务自启动

为了确保服务在系统重启后仍然自动启动,执行以下命令:

bash 复制代码
systemctl enable telnet.socket
systemctl enable xinetd

此时,Telnet 服务已经启动并可以接受远程连接。

4. 配置防火墙允许 Telnet 通信

为了确保外部主机能够通过 Telnet 访问服务器,我们需要在防火墙中开放 Telnet 使用的 23 端口。

修改防火墙规则

使用以下命令放行 23 端口:

bash 复制代码
firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload

此命令会重新加载防火墙规则,允许外部主机通过 23 端口连接。

5. 配置 Telnet 服务

Telnet 服务的配置文件存储在 /etc/xinetd.d 目录中。如果文件不存在,您需要手动创建。

创建和编辑配置文件

进入 /etc/xinetd.d 目录,并创建 Telnet 服务的配置文件:

bash 复制代码
cd /etc/xinetd.d
vi telnet

在文件中添加以下内容:

bash 复制代码
service telnet
{
    disable = no
    flags = REUSE
    socket_type = stream
    wait = no
    user = root
    server = /usr/sbin/in.telnetd
    log_on_failure += USERID
}

配置完成后保存并退出。

6. 添加 pts/0 终端

为了允许 root 用户通过 Telnet 登录,还需在 securetty 文件中添加虚拟终端。

6.1 修改 securetty 文件

备份原有的 securetty 文件:

bash 复制代码
cp /etc/securetty /etc/securetty.bak

然后在文件末尾添加以下内容:

bash 复制代码
pts/0
pts/1
pts/2
pts/3

保存并退出。

7. 重启 xinetd 服务

完成所有配置后,重启 xinetd 服务以使更改生效:

bash 复制代码
systemctl restart xinetd

8. 在 Windows 本地终端安装 Telnet 客户端

为了验证 Telnet 服务是否配置成功,您可以通过 Windows 的 Telnet 客户端进行连接。

启用 Windows Telnet 客户端

  1. 打开"控制面板",选择"程序和功能"。
  2. 点击左侧的"启用或关闭 Windows 功能"。
  3. 勾选"Telnet 客户端",点击确定。

启用 Telnet 客户端后,打开命令提示符,输入以下命令进行连接:

bash 复制代码
telnet <服务器IP地址>

结语

通过本文的详细步骤,您可以在 CentOS 7 系统中成功安装和配置 Telnet 服务。虽然 Telnet 在现代生产环境中并不常用,但在内网调试和测试中,它依然具有一定的应用价值。考虑到 Telnet 的安全性问题,建议仅在内网环境中使用,并尽量避免将其用于生产服务器的管理任务。在生产环境中,推荐使用 SSH 作为远程管理工具,以提高系统的安全性。

相关推荐
川石课堂软件测试8 分钟前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq6 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
一坨阿亮7 小时前
Linux 使用中的问题
linux·运维
dsywws8 小时前
Linux学习笔记之vim入门
linux·笔记·学习
幺零九零零9 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge9 小时前
Docker篇(Docker Compose)
运维·docker·容器