CentOS 7 Telnet 安装与配置指南
Telnet是一种常用于远程终端控制的协议,尽管由于缺乏加密功能在公共网络中逐渐被SSH替代,但在某些内网环境或调试任务中仍然有效,本文将详细介绍如何在CentOS 7系统中安装、配置并启用Telnet服务。

一、安装Telnet服务端
1. 更新系统软件源
在安装Telnet之前,需要确保系统的软件源是最新的,执行以下命令:
- yum update
2. 安装Telnet和xinetd
通过以下命令安装telnetserver
和xinetd
:
- yum y install xinetd telnetserver
该命令会自动下载并安装所有必要的依赖包,安装完成后,xinetd的配置文件将存储在/etc/xinetd.d
目录中。
二、配置Telnet服务允许root用户登录

默认情况下,出于安全性考虑,Telnet不允许root用户直接通过Telnet远程登录,为了允许root通过Telnet登录,需要修改PAM(可插拔认证模块)设置。
1. 修改PAM验证文件
编辑/etc/pam.d/login
文件,找到以下行,并将其注释掉:
- #auth required pam_securetty.so
这一行代码限制了root用户只能从指定的终端登录,注释掉它后,root用户可以从任意终端登录,如果该行代码不存在,则可以跳过这一步。
三、启动与管理Telnet服务
安装完毕后,需要启动Telnet服务和xinetd服务,并确保它们能在系统重启后自动启动。
1. 启动Telnet服务和xinetd
使用以下命令分别启动Telnet服务和xinetd服务:
- systemctl restart telnet.socket
- systemctl restart xinetd
2. 确保服务自启动
为确保服务在系统重启后能够自动运行,可以执行以下命令:
- systemctl enable telnet.socket
- systemctl enable xinetd
Telnet服务已经配置好并处于运行状态,可以接受远程连接。
四、配置防火墙允许Telnet通信
为了确保远程连接能够通过Telnet访问服务器,必须在防火墙规则中放行Telnet默认使用的23端口。
1. 修改防火墙规则
在CentOS 7中,使用firewalld管理防火墙,可以通过以下命令将Telnet服务的端口添加到防火墙的允许列表中:
- firewallcmd zone=public addport=23/tcp permanent
- firewallcmd reload
执行这些命令后,防火墙会重新加载,并允许外部主机通过23端口连接到Telnet服务。
五、配置Telnet服务
Telnet服务的配置文件默认位于/etc/xinetd.d
目录中,如果该目录下不存在telnet
文件,则需要手动创建并配置服务。
1. 配置Telnet服务
进入/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
- }
这些参数定义了Telnet服务的基本运行方式,特别地,disable = no
表示启用该服务,server = /usr/sbin/in.telnetd
指定了Telnet服务的可执行文件路径。
2. 添加pts/0终端
为了确保root用户可以通过Telnet登录,需要在securetty
文件中手动添加Telnet终端。
备份原有的securetty
文件:
- cp /etc/securetty /etc/securetty.bak
编辑/etc/securetty
文件,并在末尾添加以下内容:
- pts/0
- pts/1
- pts/2
- pts/3
保存并退出,这些行表示四个虚拟终端,允许root用户通过这些终端登录。
3. 重启xinetd服务
完成所有配置后,需要重启xinetd服务以使更改生效:
- systemctl restart xinetd
Telnet服务已经完全配置好,并允许root用户通过Telnet登录。
六、在Windows本地终端安装Telnet客户端
为了测试Telnet服务的配置是否成功,可以通过Windows系统自带的Telnet客户端连接到服务器。
1. 启用Windows Telnet客户端
在Windows系统中,Telnet客户端默认是禁用的,可以通过以下步骤启用:
打开控制面板,选择“程序和功能”,点击左侧的“启用或关闭 Windows 功能”,在弹出的对话框中勾选“Telnet客户端”,点击确定,启用Telnet客户端后,可以打开命令提示符并输入以下命令连接到远程服务器:
- telnet <服务器IP地址> 23
连接成功后,系统会提示输入用户名和密码,输入root用户的凭证即可登录。
七、常见问题解答(FAQs)
Q1: Telnet服务无法启动怎么办?
A1: 如果Telnet服务无法启动,请检查以下几点:
确保已安装telnetserver
和xinetd
。
确认配置文件/etc/xinetd.d/telnet
是否正确。
检查防火墙设置,确保23端口已开放。
查看系统日志(如/var/log/messages
或journalctl xe
)以获取详细的错误信息。
Q2: 如何更改Telnet服务的默认端口?
A2: 要更改Telnet服务的默认端口,可以在/etc/xinetd.d/telnet
文件中修改port
参数,将端口更改为2323:
- service telnet
- {
- disable = no
- flags = REUSE
- socket_type = stream
- wait = no
- user = root
- server = /usr/sbin/in.telnetd
- port = 2323
- log_on_failure += USERID
- }
修改后,别忘了重启xinetd服务以使更改生效:
- systemctl restart xinetd