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

相关推荐
码农101号18 分钟前
Linux中容器文件操作和数据卷使用以及目录挂载
linux·运维·服务器
PanZonghui36 分钟前
Centos项目部署之Nginx 的安装与卸载
linux·nginx
PanZonghui42 分钟前
Centos项目部署之安装数据库MySQL8
linux·后端·mysql
PanZonghui44 分钟前
Centos项目部署之运行SpringBoot打包后的jar文件
linux·spring boot
PanZonghui44 分钟前
Centos项目部署之Java安装与配置
java·linux
程序员弘羽1 小时前
Linux进程管理:从基础到实战
linux·运维·服务器
PanZonghui1 小时前
Centos项目部署之常用操作命令
linux
JeffersonZU1 小时前
Linux/Unix进程概念及基本操作(PID、内存布局、虚拟内存、环境变量、fork、exit、wait、exec、system)
linux·c语言·unix·gnu
大熊程序猿1 小时前
netcore PowerShell 安装-linux
linux·运维
Johny_Zhao2 小时前
Docker 一键安装部署 JumpServer 堡垒机
linux·网络安全·信息安全·云计算·shell·jumpserver·ldap·yum源·系统运维