Linux 下打开 Telnet 的详细指南
在 Linux 系统中,Telnet 是一种常用的远程协议,用于通过网络登录和管理远程设备,尽管因安全性问题(如数据未加密)逐渐被 SSH 替代,但在某些测试场景或旧设备维护中仍具价值,本文将详细介绍在 Linux 系统中启用和使用 Telnet 的方法,包括服务端配置、客户端连接及常见问题解决。

检查 Telnet 服务是否安装
在开始配置前,需确认系统是否已安装 Telnet 相关软件包,以主流发行版为例:
-
基于 Debian/Ubuntu 的系统:
打开终端,执行以下命令检查:which telnet
若未安装,可通过
apt安装客户端和服务端:sudo apt update && sudo apt install telnetd telnet
-
基于 RHEL/CentOS 的系统:
使用rpm或yum检查:rpm -q telnet-server telnet
若缺失,安装命令为:
sudo yum install telnet-server telnet
-
基于 Arch Linux 的系统:
安装命令为:sudo pacman -S telnet inetutils
启用并配置 Telnet 服务端
安装完成后,需启动 Telnet 服务并设置开机自启。

-
启动 Telnet 服务:
- Systemd 系统(如 Ubuntu 16.04+、CentOS 7+):
sudo systemctl start telnet.socket sudo systemctl enable telnet.socket
- SysV Init 系统(如 CentOS 6):
sudo service xinetd start sudo chkconfig xinetd on
- Systemd 系统(如 Ubuntu 16.04+、CentOS 7+):
-
配置防火墙规则:
默认情况下,防火墙可能阻止 Telnet 流量(端口 23),需开放端口:
- firewalld(CentOS 7+/RHEL 7+):
sudo firewall-cmd --permanent --add-service=telnet sudo firewall-cmd --reload
- ufw(Ubuntu):
sudo ufw allow telnet
- 安全配置建议:
- 限制 Telnet 访问 IP:编辑
/etc/hosts.allow和/etc/hosts.deny,仅允许特定 IP 连接。 - 禁用 root 登录:编辑
/etc/securetty,注释或删除telnet相关行,强制普通用户登录后切换至 root。
使用 Telnet 客户端连接远程设备
服务端配置完成后,可通过本地客户端连接远程 Telnet 服务器:
-
基本连接命令:
telnet [IP地址] [端口号]
连接 IP 为
168.1.100的服务器:telnet 192.168.1.100 23
-
交互操作:
连接成功后,输入远程用户名和密码进行登录,若连接失败,检查目标服务器是否开启 Telnet 服务及防火墙设置。 -
测试本地 Telnet 服务:
在同一台机器上,可通过telnet localhost 23验证服务是否正常运行。
常见问题与解决方案
-
“Connection refused”错误:
- 原因:Telnet 服务未启动或防火墙拦截。
- 解决:确认服务状态(
systemctl status telnet.socket)并检查防火墙规则。
-
“No route to host”错误:
- 原因:网络配置问题或目标 IP 不可达。
- 解决:使用
ping测试网络连通性,确认 IP 地址无误。
-
登录失败:
- 原因:用户名/密码错误或服务端限制。
- 解决:核对账户信息,检查
/var/log/secure日志定位错误原因。
安全注意事项
由于 Telnet 传输数据未加密,存在信息泄露风险,建议:
- 仅在可信网络环境中使用。
- 敏感操作改用 SSH(Secure Shell)协议。
- 定期更新系统补丁,减少漏洞风险。
通过以上步骤,您可在 Linux 系统中成功启用并使用 Telnet,尽管其安全性存在局限,但在特定场景下仍能发挥便捷作用,如需更高安全性的远程管理方案,可进一步研究 SSH 的配置与优化。














