当前位置: 首页 > article >正文

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

目录

  • 前言
  • 1. 安装 Telnet 服务端
    • 1.1 更新系统软件源
    • 1.2 安装 Telnet 和 xinetd
  • 2. 增加具有管理员权限的用户
    • 2.1 添加新用户
    • 2.2 配置 sudo 权限
  • 3. 启动和管理 Telnet 服务
    • 3.1 启动服务
    • 3.2 设置服务自启动
  • 4. 配置防火墙允许 Telnet 通信
  • 5. 配置 Telnet 服务
  • 6. 添加 `pts/0` 终端
  • 7. 重启 xinetd 服务
  • 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 之前,先确保系统的软件源是最新的。可以使用以下命令更新软件包列表:

yum update

1.2 安装 Telnet 和 xinetd

通过以下命令安装 xinetdtelnet-server

yum -y install xinetd telnet-server

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

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

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

2.1 添加新用户

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

adduser test
passwd test

2.2 配置 sudo 权限

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

chmod u+w /etc/sudoers
vim /etc/sudoers

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

test ALL=(ALL) NOPASSWD:ALL

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

chmod u-w /etc/sudoers

3. 启动和管理 Telnet 服务

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

3.1 启动服务

使用以下命令启动 Telnet 和 xinetd

systemctl restart telnet.socket
systemctl restart xinetd

3.2 设置服务自启动

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

systemctl enable telnet.socket
systemctl enable xinetd

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

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

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

修改防火墙规则

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

firewall-cmd --zone=public --add-port=23/tcp --permanent
firewall-cmd --reload

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

5. 配置 Telnet 服务

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

创建和编辑配置文件

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

cd /etc/xinetd.d
vi telnet

在文件中添加以下内容:

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 文件:

cp /etc/securetty /etc/securetty.bak

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

pts/0
pts/1
pts/2
pts/3

保存并退出。

7. 重启 xinetd 服务

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

systemctl restart xinetd

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

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

启用 Windows Telnet 客户端

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

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

telnet <服务器IP地址>

结语

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


http://www.kler.cn/news/335732.html

相关文章:

  • 浅谈stm32的GPIO引脚配置模式
  • Android SystemUI组件(09)唤醒亮屏 锁屏处理流程
  • mysql学习教程,从入门到精通,SQL 复制表(36)
  • 智能制造领域的系统都有啥,MES、APS、PLC、SCADA等
  • 滚雪球学Oracle[1.2讲]:Oracle数据库架构基础
  • Python+ffmpeg实现字幕视频合并
  • UNICODE已定义,_tcs*函数却不是宽字符函数问题
  • tldr命令介绍
  • 【Verilog学习日常】—牛客网刷题—Verilog进阶挑战—VL25
  • SpringBoot+ElasticSearch7.12.1+Kibana7.12.1简单使用
  • RabbitMQ入门6—exchange参数之type
  • 职场祛魅:判断2B企业和外包公司?
  • Windows 通过 Docker 安装 GitLab
  • 在VSCode中使用Excalidraw
  • 新版IDEA中Git的使用(四)——解决冲突
  • 面试题3-JDBC操作数据库的步骤
  • Java使用RabbitMQ的详细教程(原生框架)
  • 【FreeRTOS】移植教程与官方文档
  • Linux 系统五种帮助命令的使用
  • mysql UDF提权(实战案例)