在Linux系统中,Telnet是一种传统的远程协议,允许用户通过网络远程登录到服务器并执行命令,尽管由于其明文传输的特性,安全性不如SSH,但在某些特定场景(如设备调试、旧系统兼容或临时网络测试)中仍被使用,本文将详细介绍在Linux系统中开启Telnet服务的完整流程,包括安装、配置、使用及安全注意事项,帮助用户高效、安全地部署和管理Telnet服务。

安装Telnet服务
在Linux系统中,Telnet服务通常分为客户端和服务端两部分,客户端用于连接远程服务器,服务端则用于接收连接请求,不同Linux发行版的包管理器不同,安装步骤略有差异。
基于Debian/Ubuntu的系统
使用apt包管理器安装,执行以下命令:
sudo apt update sudo apt install telnetd -y
安装完成后,服务会自动启动,可通过systemctl status telnetd检查服务状态。
基于CentOS/RHEL的系统
使用yum或dnf包管理器安装,以CentOS 7为例:
sudo yum install telnet-server -y
安装后,默认服务可能未启动,需手动启用:
sudo systemctl enable telnet.socket sudo systemctl start telnet.socket
通过systemctl status telnet.socket确认服务运行状态。
检查安装结果
无论使用何种发行版,安装完成后可通过以下命令验证:
- 查看Telnet端口(默认为23)是否监听:
netstat -tuln | grep 23或ss -tuln | grep 23。 - 测试客户端是否可用:
telnet localhost,若能进入登录界面,则安装成功。
配置Telnet服务
默认配置下,Telnet服务可能仅允许本地连接或存在安全风险,需根据实际需求调整配置。

修改xinetd配置(适用于依赖xinetd的系统)
部分系统(如旧版CentOS)通过xinetd管理Telnet服务,配置文件为/etc/xinetd.d/telnet,编辑该文件:
sudo nano /etc/xinetd.d/telnet
修改以下参数:
disable = yes改为disable = no(启用服务);only_from = 127.0.0.1可修改为允许的IP地址段(如only_from = 192.168.1.0/24限制局域网访问);no_access =可添加禁止的IP地址。
保存后重启xinetd服务:sudo systemctl restart xinetd。
配置独立服务(如systemd管理的系统)
对于直接通过systemd管理的Telnet服务(如Ubuntu 18+),可通过修改/etc/securetty文件控制允许登录的用户,默认情况下,root用户可能无法通过Telnet登录,需将pts/0、pts/1等终端设备添加到文件中:
sudo nano /etc/securetty
在文件末尾添加允许的终端类型(如pts/0),保存后重启Telnet服务。
防火墙配置
为确保外部能访问Telnet服务,需开放23端口:
- Ubuntu(ufw):
sudo ufw allow 23/tcp sudo ufw reload
- CentOS(firewalld):
sudo firewall-cmd --permanent --add-port=23/tcp sudo firewall-cmd --reload
使用Telnet客户端
安装并配置完成后,可通过Telnet客户端连接远程服务器。
基本连接命令
格式为telnet [服务器IP] [端口号],端口号默认为23,可省略:
telnet 192.168.1.100
若连接成功,会显示服务器登录界面,输入用户名和密码即可登录。

常用操作
- 退出连接:输入
logout或按Ctrl+],然后输入quit。 - 查看帮助:部分服务器支持
help命令查看可用操作。 - 文件传输:Telnet本身不支持文件传输,可结合
cat和重定向实现简单文件操作(如cat file.txt | telnet host port)。
常见问题排查
- 连接超时:检查服务器防火墙是否开放23端口,Telnet服务是否运行(
systemctl status telnetd)。 - 登录失败:确认用户名密码正确,检查
/etc/securetty是否允许该用户登录,或查看服务器日志(/var/log/secure或/var/log/auth.log)。
安全注意事项
由于Telnet传输所有数据(包括用户名、密码)均为明文,存在严重安全风险,使用时需严格遵循以下原则:
限制访问范围
- 仅在局域网内使用,避免暴露在公网。
- 通过防火墙或
only_from参数限制允许连接的IP地址,禁止未知设备访问。
替代方案优先
对于生产环境,强烈建议使用SSH(Secure Shell)替代Telnet,SSH提供加密传输和更强的身份验证机制,可通过sudo apt install openssh-server(Ubuntu)或sudo yum install openssh-server(CentOS)安装SSH服务。
禁用不必要账户
避免使用root用户通过Telnet登录,仅允许普通用户远程操作,并通过sudo提升权限。
定期审计日志
开启服务器日志记录,定期检查/var/log/secure或/var/log/telnetd.log,发现异常连接及时处理。
在Linux系统中开启Telnet服务需经历安装、配置、防火墙设置等步骤,虽然操作简单,但因其明文传输的特性,仅适用于非敏感场景或临时调试,用户在实际使用中务必优先考虑SSH等安全协议,若必须使用Telnet,需通过IP限制、防火墙策略等措施降低风险,通过合理配置和安全加固,可在保证功能性的同时,最大程度减少安全隐患。

















