开启服务器的Telnet服务,核心在于通过系统内置功能或命令行工具安装并启动Telnet服务端组件,同时在网络层面开放防火墙端口,最终通过客户端连接验证。Telnet协议因其明文传输特性,存在极大的安全隐患,建议仅在受信任的局域网测试环境中临时开启,生产环境务必使用SSH协议替代。 以下以Windows Server和Linux(CentOS/Ubuntu)两大主流服务器系统为例,详细阐述操作流程与安全配置要点。

Windows Server系统开启Telnet服务
Windows服务器默认未安装Telnet服务端功能,需手动添加。此过程无需第三方软件,完全依托系统组件。
-
安装Telnet服务端组件
- 登录Windows服务器,打开“服务器管理器”。
- 点击“管理”菜单,选择“添加角色和功能”。
- 在“功能”列表中,勾选“Telnet客户端”与“Telnet服务器”。
- 点击“安装”,等待系统自动完成组件部署。
-
配置并启动服务
- 安装完成后,使用快捷键
Win + R,输入services.msc打开服务管理器。 - 在列表中找到“Telnet”服务,双击打开属性窗口。
- 将“启动类型”由“禁用”更改为“自动”或“手动”。
- 点击“启动”按钮,确保服务状态变为“正在运行”。
- 安装完成后,使用快捷键
-
防火墙端口放行
- Telnet默认使用TCP协议的23端口。
- 打开“高级安全Windows Defender防火墙”。
- 新建“入站规则”,选择“端口”,输入特定本地端口
23。 - 选择“允许连接”,并在配置文件中勾选域、专用或公用网络(根据实际网络环境选择)。
- 完成规则命名,如“Telnet端口放行”。
Linux系统开启Telnet服务
Linux系统通常默认安装SSH,Telnet需单独安装配置。不同发行版命令略有差异,需区分处理。
-
安装Telnet服务软件包
- 对于CentOS/RHEL系统,执行命令:
yum install -y telnet telnet-server xinetd - 对于Ubuntu/Debian系统,执行命令:
sudo apt-get install -y telnetd xinetd - xinetd是超级守护进程,负责管理Telnet服务的启动与连接。
- 对于CentOS/RHEL系统,执行命令:
-
配置服务自启动与运行
- 编辑xinetd配置文件(若不存在需新建):
vi /etc/xinetd.d/telnet。 - 将
disable = yes修改为disable = no。 - 保存退出后,重启xinetd服务:
systemctl restart xinetd或service xinetd restart。 - 检查23端口是否监听:
netstat -tunlp | grep 23。
- 编辑xinetd配置文件(若不存在需新建):
-
防火墙与安全组设置

- 若使用firewalld(CentOS 7+):
firewall-cmd --permanent --add-port=23/tcp
firewall-cmd --reload - 若使用iptables:
iptables -A INPUT -p tcp --dport 23 -j ACCEPT
service iptables save - 云服务器用户必须在云平台控制台的安全组规则中,放行TCP 23端口。
- 若使用firewalld(CentOS 7+):
连接测试与验证
服务端配置完成后,必须进行连接测试,确保服务可用。
-
本地回环测试
- 在服务器本机命令行输入:
telnet localhost或telnet 127.0.0.1。 - 若提示输入用户名密码,或显示连接成功,说明服务端配置无误。
- 在服务器本机命令行输入:
-
客户端远程连接
- 在同一网络下的客户端电脑,打开命令行(CMD或Terminal)。
- 输入命令:
telnet [服务器IP地址]。 telnet 192.168.1.100。- 成功连接后,屏幕会清空并显示登录提示符。
常见故障排查与解决方案
在实际操作中,服务器怎么开启telnet服务器往往不是难点,难点在于解决连接失败的问题。
-
连接被拒绝
- 检查Telnet服务是否已启动。
- Windows检查服务状态,Linux检查xinetd进程。
- 确认配置文件中
disable参数是否已改为no。
-
连接超时或无响应
- 90%的故障源于防火墙拦截。
- 临时关闭防火墙测试:Windows禁用防火墙,Linux执行
systemctl stop firewalld。 - 若关闭防火墙后可连接,说明需修正防火墙规则。
- 云服务器务必检查安全组入站规则。
-
权限不足无法登录
- Windows系统需确保登录账户属于“TelnetClients”组。
- 若非该组成员,系统会拒绝访问,可通过计算机管理->本地用户和组->组->TelnetClients,添加相应用户。
安全风险与最佳实践建议
Telnet协议缺乏加密机制,所有数据(包括账号密码)均以明文传输,极易被嗅探窃取。

-
限制访问来源
- 严格配置防火墙,仅允许特定管理IP访问23端口。
- 拒绝所有非授权IP的连接请求。
-
使用SSH替代
- 在生产环境中,强烈建议禁用Telnet,使用SSH(Secure Shell)协议。
- SSH提供加密通道,功能更强大,安全性更高。
- Linux服务器默认SSH端口为22,Windows Server亦可安装OpenSSH服务器。
-
临时使用原则
- Telnet仅作为排查网络故障或特定老旧设备维护的临时工具。
- 使用完毕后,应立即停止服务并卸载相关组件,减少攻击面。
相关问答
问:为什么提示“’telnet’ 不是内部或外部命令”?
答:这通常发生在客户端电脑上,而非服务器端,原因是Windows客户端系统默认未启用Telnet客户端功能,解决方法是打开“控制面板”->“程序”->“启用或关闭Windows功能”,勾选“Telnet客户端”,确定安装后即可使用该命令。
问:开启Telnet后,无法使用Root账户登录Linux服务器怎么办?
答:出于安全考虑,Linux的Telnet服务默认禁止Root用户直接登录,正确的做法是先使用普通用户账户登录,登录成功后,再使用 su - 命令切换至Root用户进行管理操作,或者修改 /etc/securetty 文件添加pts终端支持(不推荐,存在安全风险)。
如果您在配置过程中遇到防火墙拦截或其他疑难杂症,欢迎在评论区留言,我们将提供针对性的技术解答。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/95915.html