首页/安全/安全加固速查/telnet 服务清除与替代(SSH 化)
服务与端口收敛50 条

telnet 服务清除与替代(SSH 化)

telnet 明文传输口令与数据:生产环境应彻底卸载 telnet-server;客户端工具如需保留仅限排查用途并登记。

安全加固速查安全更新于 2026-10-13

telnet 的问题无法通过配置修复

telnet 把账号口令与全部会话内容以明文送上网络,同网段抓包就能还原,也能被中间人直接篡改;这不是配置好不好,而是协议本身不具备加密能力,所以它无法通过加固变得安全。正确做法是彻底卸载服务端(telnet-server、telnetd),把管理通道统一到 SSH;客户端命令如需保留做端口连通性排查,要登记用途并限制安装范围。网络设备与带外管理口同样要关闭 telnet。

基本信息

加固项明文管理协议清除
适用平台Linux 服务器、网络设备、带外管理模块(BMC/iDRAC/iLO)
权限要求root 或设备管理员
达标判据23 端口无监听、软件包已卸载、设备侧 telnet 功能关闭
替代方案SSH(登录)、SFTP/SCP(传输)、HTTPS(Web 管理)

典型使用场景

  • 等保与 CIS 基线核查“传输保密性”条款
  • 新交付服务器与网络设备初始化时关掉默认开启的明文管理
  • 网络设备固件升级后复查 telnet 是否被重新开启
  • 带外管理口清单治理,把 BMC 的明文访问一并关掉
  • 发现有人为图方便私自开启 telnet 后的回收处置

确认与卸载(Linux)

确认与卸载(Linux)
ss -tlnp | grep ':23 '                     # 确认是否有服务端在监听
rpm -q telnet-server                        # RHEL 系:查是否安装
rpm -e telnet-server 2>/dev/null || apt-get remove -y telnetd inetutils-telnetd   # 卸载
systemctl disable --now telnet.socket 2>/dev/null   # 若由 socket 单元激活,一并停用
systemctl list-units --type=service | grep -i telnet   # 复核没有残留服务

网络设备侧关闭示例

网络设备侧关闭示例
# 华为 VRP:undo telnet server enable(具体命令以对应版本手册为准)
# 思科 IOS:line vty 0 4 下使用 transport input ssh,仅保留 SSH 接入
# 带外管理(BMC/iDRAC/iLO):在管理界面关闭 telnet,只保留 HTTPS 与 SSH
# 改完用 display current-configuration 或 show running-config 复核

明文协议替换对照

明文协议替代方案说明
telnet(23)SSH(22)登录与命令执行全程加密
ftp(21)SFTP(走 SSH)或 FTPSSFTP 配合密钥更易统一管理
rlogin、rshSSH历史上还依赖信任关系文件,问题更多
http 管理界面HTTPS设备与中间件的 Web 管理同样要收敛
BMC 明文访问HTTPS 或 SSH带外口常被简化配置,是重灾区
只清服务器不查设备等于没做:交换机、路由器与 BMC 的 telnet 往往还开着,而这些设备掌握的权限更接近基础设施根权限。资产清单里应把网络设备与带外管理模块单列,逐个确认协议与固件版本。
客户端工具与服务端是两件事:telnet 命令常被用来测试端口是否可达(连接目标的 443 端口看是否返回横幅),保留客户端风险有限,但应在变更记录里写明用途和允许安装的机器范围,避免服务端被顺手装上。

易错点

  • 只关服务不卸载软件包,升级或误操作后服务又跑起来,卸载才算终态
  • 网络设备固件升级后 telnet 被重新开启,设备侧要纳入升级后的复查清单
  • 带外管理口(BMC/iDRAC)默认开启且口令简化,往往不在服务器资产盘点范围内
  • 为排障临时开启 telnet 后忘记关闭,缺少到期回收机制的临时变更最终变成长期风险

数据来源与参考

  • CIS Benchmark:Telnet 条目
  • 等保 2.0:传输保密性

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌