在CentOS系统中,Telnet服务的安装与配置是网络管理中常见的需求,尽管Telnet因其明文传输的特性逐渐被SSH等更安全的协议替代,但在某些特定场景下,如内部网络测试或兼容旧设备时,仍需使用Telnet,本文将详细介绍在CentOS下安装Telnet服务的步骤、配置方法及注意事项,帮助用户顺利完成部署。

检查系统环境
在开始安装前,需确认系统版本与网络环境,CentOS 7及更高版本默认使用firewalld作为防火墙,而旧版本可能使用iptables,可通过命令cat /etc/redhat-release查看系统版本,确保与后续操作兼容,检查网络连接状态,确保系统可以访问外部软件源,避免安装过程中出现依赖包下载失败的问题。
安装Telnet服务包
CentOS系统中,Telnet服务通常由两个独立的软件包提供:telnet-server(服务器端)和telnet(客户端),若仅需远程连接其他设备,安装客户端即可;若需搭建Telnet服务器,则需同时安装两个包,使用以下命令进行安装:
sudo yum install telnet-server telnet -y
该命令会自动解决依赖关系并完成安装,安装完成后,可通过rpm -qa telnet-server telnet验证包是否正确安装。
配置Telnet服务
安装完成后,需对Telnet服务进行基本配置,编辑/etc/xinetd.d/telnet文件,确保以下内容正确:
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
disable = no表示启用Telnet服务,保存文件后,需重启xinetd服务以使配置生效:

sudo systemctl restart xinetd
若系统使用systemd管理服务,可通过sudo systemctl enable telnet.socket设置开机自启。
防火墙与SELinux配置
默认情况下,防火墙会阻止Telnet流量,需开放TCP 23端口(Telnet默认端口):
sudo firewall-cmd --permanent --add-port=23/tcp sudo firewall-cmd --reload
检查SELinux状态,若处于 enforcing 模式,需调整策略或临时禁用:
sudo setenforce 0 # 临时禁用 或 sudo semanage port -a -t telnet_port -p tcp 23 # 永久添加端口
测试Telnet连接
配置完成后,可通过本地或远程设备测试连接,使用telnet <服务器IP> 23命令,若出现登录提示,则表示服务正常运行,注意,首次连接时可能需要输入系统用户名和密码,为确保安全性,建议限制仅允许特定IP访问,或结合SSH逐步替代Telnet。
安全注意事项
由于Telnet传输数据未加密,存在信息泄露风险,建议仅在可信网络环境中使用,并采取以下措施提升安全性:

- 限制访问IP:通过防火墙规则或
/etc/hosts.allow和/etc/hosts.deny控制访问来源。 - 定期更新系统:确保系统和软件包为最新版本,修复已知漏洞。
- 监控日志:定期检查
/var/log/secure文件,发现异常登录行为及时处理。
相关问答FAQs
Q1: Telnet和SSH有什么区别?
A1: Telnet使用明文传输所有数据,包括用户名和密码,安全性较低;SSH通过加密传输数据,提供更高的安全性,并支持端口转发、文件传输等功能,除非必要场景,建议优先使用SSH。
Q2: 如何在CentOS中禁用Telnet服务?
A2: 可通过以下步骤禁用:
- 编辑
/etc/xinetd.d/telnet,将disable = no改为disable = yes; - 重启xinetd服务:
sudo systemctl restart xinetd; - 若使用systemd,可执行
sudo systemctl disable telnet.socket。