上一篇
telnet如何开启 linux
- Linux
- 2025-07-27
- 2448
Linux中开启Telnet需先安装服务(如
yum install telnet-server),修改配置文件启用服务,重启守护进程,并配置防火墙放行23端口
是在Linux系统中开启Telnet服务的详细步骤:
确认并安装Telnet服务组件
- 检查是否已安装:使用包管理器查询现有组件,在RPM系系统(如CentOS)中运行
rpm -q telnet-server;若返回“未找到”,则需执行安装命令,对于Debian系系统(如Ubuntu),可用apt-get install telnetd进行安装,主流发行版的安装指令如下:- CentOS/RHEL:
sudo yum install telnet-server - Ubuntu/Debian:
sudo apt-get install telnetd
- CentOS/RHEL:
- 验证安装结果:再次执行上述查询命令,确保软件包成功部署,部分系统可能依赖额外的守护进程(如xinetd),此时需同步安装对应模块。
配置核心参数文件
- 定位配置文件路径:不同发行版的默认路径略有差异,常见位置包括:
- CentOS:
/etc/xinetd.d/telnet - Ubuntu:
/etc/default/telnetd或/etc/inetd.conf
- CentOS:
- 修改关键参数项:编辑文件后,找到形如
disable = yes的配置行,将其改为disable = no以激活服务,典型配置示例如下:service telnet { disable = no # 必须设置为no才能启用 socket_type = stream server = /usr/sbin/in.telnetd protocol = tcp user = root wait = no } - 保存更改并退出编辑器,建议操作前备份原文件以防误操作导致系统异常。
启动与管理服务状态
| 操作类型 | CentOS/RHEL命令 | Ubuntu/Debian命令 |
|---|---|---|
| 立即启动服务 | sudo systemctl start telnet.socket |
sudo service openbsd-inetd restart |
| 设置开机自启 | sudo systemctl enable telnet.socket |
sudo systemctl enable telnetd |
| 重启服务生效配置 | sudo systemctl restart xinetd |
sudo service xinetd reload |
注:部分旧版本系统可能需要通过service xinetd restart替代systemctl命令。
调整防火墙策略
由于Telnet默认使用TCP 23端口进行通信,需手动放行该端口的流量:
- 基于iptables的规则添加:依次执行以下命令:
sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT sudo service iptables save # 保存规则持久化 sudo service iptables restart # 使新规则生效
- 使用firewalld工具的配置方法:
sudo firewall-cmd --add-service=telnet --permanent sudo firewall-cmd --reload # 重新加载防火墙配置
- 验证端口开放状态:可通过
sudo netstat -tulnp | grep :23确认监听状态。
客户端连接测试
完成上述步骤后,可在其他终端尝试连接目标服务器:
- 基本语法格式:
telnet <目标IP地址> <端口号>(默认为23)
示例:telnet 192.168.1.100 23 - 预期交互流程:成功建立连接后将进入命令行界面,输入有效的用户名和密码即可登录系统,若出现连接拒绝错误,请重点排查以下环节:
- 服务进程是否正常运行(
ps aux | grep telnet) - 防火墙规则是否正确应用
- SELinux等安全机制是否拦截请求
- 服务进程是否正常运行(
安全增强建议
尽管Telnet能实现基础远程管理功能,但其明文传输特性存在重大安全隐患,推荐采取以下防护措施:
- 限制访问来源:仅允许特定IP段访问,避免暴露公网
- 禁用root直接登录:修改PAM配置(注释掉
/etc/pam.d/login中的auth required pam_securetty.so) - 优先使用SSH替代方案:通过加密通道实现更安全的远程控制
- 定期审计日志:监控异常登录尝试行为
FAQs
Q1:为什么修改了配置文件但服务仍未启动?
A:可能原因包括:①未执行systemctl restart xinetd使配置生效;②防火墙阻挡了23端口;③SELinux处于Enforcing模式并阻止了相关操作,建议按顺序排查这三个环节。
Q2:能否在生产环境中长期使用Telnet?
A:不建议,由于所有数据传输均为明文,攻击者可通过嗅探轻松获取敏感信息,强烈推荐改用SSH协议,其提供端到端加密和身份验证机制,能有效防范中间
