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 作为远程管理工具,以提高系统的安全性。

相关推荐
Johny_Zhao32 分钟前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
xy123062 天前
OpenStack Train 部署实战(三)控制节点--keystone服务
centos·openstack
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux