游乐游手机版
首页/系统平台/文章详情

Ubuntu开启Telnet服务的安装与配置方法

时间:2026-08-18 16:42
Ubuntu 20 04 默认不会启用 Telnet 服务。从 Ubuntu 18 04 开始,系统架构已经切换为 systemd socket activation(即 telnet socket),不再依赖传统的 inetd 方式。要在 Ubuntu 中开启 Telnet,首先需要确认 teln

Ubuntu 20.04 默认不会启用 Telnet 服务。从 Ubuntu 18.04 开始,系统架构已经切换为 systemd socket activation(即 telnet.socket),不再依赖传统的 inetd 方式。要在 Ubuntu 中开启 Telnet,首先需要确认 telnetd 软件包版本不低于 0.17-45,并确保系统内存在 /usr/lib/systemd/system/telnet.socket 文件。随后执行 sudo systemctl enable --now telnet.socket,再通过 ss -tln | grep :23 检查 23 端口是否处于监听状态。同时别忽略防火墙放行 23 端口,并核对 /etc/securetty 与 PAM 配置,确保 Telnet 登录功能可以正常使用。

Ubuntu如何开启Telnet服务

Ubuntu 默认状态下并未开启 Telnet 服务,而且自 18.04 版本起,传统的 inetd 启动方式已经被逐步淘汰,改由 systemd socket activation 管理的 telnet.socket 接管。这里有一个常见误区:仅仅安装 telnetd 并不意味着 Ubuntu Telnet 服务已经可用——关键在于你当前系统采用的是哪种后端机制,否则在执行 systemctl start telnet.socket 时,很可能出现没有明显报错却无法生效的情况。

确认系统是否支持 telnet.socket

较新的 Ubuntu 版本(20.04 及以上)通常在 telnetd 包中自带 telnet.socket 单元文件,但前提是安装过程未被跳过,也没有被其他软件包冲突覆盖。可以执行:

sudo apt install telnetd
systemctl list-unit-files | grep telnet

如果输出中包含 telnet.socket enabled,说明当前系统支持通过 socket 方式启用 Telnet;如果只看到 telnet.service,或者没有任何结果,则说明你安装的可能是旧版兼容包(例如手动编译版本或第三方仓库版本),这类环境通常无法依靠 socket activation 直接启动。

  • 常见报错现象:执行 systemctl start telnet.socket 后,ss -tln | grep :23 依然没有监听结果,且 systemctl status telnet.socket 显示 failed to load unit
  • 常见原因:某些精简版镜像(例如部分云服务器镜像)删除了 /usr/lib/systemd/system/telnet.socket,或者 telnetd 版本过旧(可用 apt show telnetd 查看,低于 0.17-45 一般不包含 socket 支持)
  • 解决思路:可以改用 xinetd 来托管 Telnet 服务,或者临时使用 nc -l -p 23 进行端口监听测试(仅适合调试场景,不带身份认证)

启用 telnet.socket 并验证监听

确认系统支持后,就可以在 Ubuntu 上正式启动 Telnet 服务并检查监听状态:

sudo systemctl enable --now telnet.socket
sudo ss -tln | grep ':23'

正常情况下,应看到类似 LISTEN 0 128 *:23 *:* 的结果。需要注意以下几点:

  • telnet.socket 属于“按需激活”模式:只有首次客户端连接时,才会拉起 in.telnetd 进程,因此刚执行完启动命令后,ps aux | grep telnet 可能暂时看不到相关进程
  • 如果 ss 没有任何输出,建议检查 sudo systemctl status telnet.socket 是否出现 Failed to listen on /dev/tty。这通常与 in.telnetd 的权限或终端配置有关,需要确认 /etc/securetty 中包含 ttyS0,或者按需注释掉 pam_securetty 限制(详见下文)
  • 防火墙必须放行 23 端口:例如执行 sudo ufw allow 23/tcp;如果是云服务器,还需要在云平台控制台的安全组规则中开放 TCP 23 端口

root 登录失败?检查 /etc/securetty 和 PAM 配置

Telnet 服务默认通常会禁止 root 用户直接远程登录,常见表现是提示 Login incorrect,或者连接建立后立刻断开。排查 Ubuntu Telnet 登录失败时,重点检查以下配置:

  • /etc/securetty 文件中是否列出了 ttyS0(串口终端)或 pts/0(伪终端)?由于 Telnet 登录实际走的是 pts/*,而默认配置往往只保留本地控制台终端名
  • /etc/pam.d/login 中是否存在 auth [success=ok default=ignore] pam_securetty.so 这一行?如果存在,root 一般无法通过网络方式直接登录
  • 临时处理方法(仅用于测试):sudo mv /etc/securetty /etc/securetty.bak,或者将 pam_securetty.so 这一行注释掉
  • 更安全、更推荐的做法:创建普通用户并加入 sudo 组,尽量避免直接暴露 root 账户进行 Telnet 登录

替代方案:用 xinetd 托管 in.telnetd(兼容性更强)

如果你在 Ubuntu 开启 Telnet 的过程中卡在 socket 激活、权限限制或兼容性问题上,使用 xinetd 托管 in.telnetd 往往更加灵活可控,尤其适合 Ubuntu 16.04–18.04 或某些定制化系统镜像:

sudo apt install xinetd telnetd
sudo tee /etc/xinetd.d/telnet <<'EOF'
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
EOF
sudo systemctl restart xinetd

配置时还要留意以下细节:

  • disable = no 必须使用小写写法,若写成 NO 或 False,配置通常不会生效
  • xinetd 默认会监听所有网络接口;如果只希望内网访问,可以添加 bind = 192.168.1.100(请替换为实际内网 IP)
  • in.telnetd 的安装路径可能因系统架构不同而变化,例如在 arm64 环境下可能位于 /usr/bin/in.telnetd,建议使用 find /usr -name 'in.telnetd' 进行确认

真正棘手的问题通常并不是安装软件包本身,而是 in.telnetd 启动后会依次读取 /etc/securetty 和 pam.d/login 配置文件——只要这两处设置稍有偏差,就会出现 Telnet 可以连接但无法登录的情况,而且日志信息往往并不会明确指出具体原因。

来源:https://www.php.cn/faq/2956081.html
上一篇Mac访达文件显示字体大小怎么设置更改 下一篇Linux系统查看虚拟内存使用量的方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。