上一篇
telnet如何开启 linux
- Linux
- 2025-07-27
- 6
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协议,其提供端到端加密和身份验证机制,能有效防范中间