Ubuntu 22.04 LTS 极速部署 Telnet 服务的实战指南在开发测试环境中快速搭建一个轻量级的远程访问工具往往能极大提升工作效率。虽然 SSH 已成为现代 Linux 系统的标配但 Telnet 因其协议简单、配置快速的特点仍然是临时测试场景下的实用选择。本文将带你在 Ubuntu 22.04 LTS 上5 分钟内完成 Telnet 服务的完整部署与验证流程。1. 环境准备与安全考量在开始之前我们需要明确 Telnet 的适用场景。由于 Telnet 采用明文传输绝对不建议在生产环境或互联网开放场景中使用。它最适合以下情况本地开发机与测试环境的快速调试内网隔离环境中的临时访问验证网络端口连通性的测试工具Ubuntu 22.04 LTS 作为最新的长期支持版本其软件仓库已经过优化。我们只需要两个核心组件sudo apt update sudo apt install -y openbsd-inetd telnetd注意openbsd-inetd是新一代的超级守护进程相比传统的inetd有更好的资源管理能力。2. 服务配置与启动安装完成后系统会自动生成基础配置文件。我们需要确认服务已正确启动sudo systemctl status openbsd-inetd预期看到类似输出● openbsd-inetd.service - OpenBSD Internet Superserver Loaded: loaded (/lib/systemd/system/openbsd-inetd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-05-18 10:23:45 UTC; 1min 23s ago关键检查点确认服务状态为active (running)检查是否包含enabled标记确保开机自启如果服务未自动启动可手动执行sudo systemctl enable --now openbsd-inetd3. 网络端口验证Telnet 默认使用 23 端口我们可以通过多种方式验证服务监听状态方法一netstat 命令sudo netstat -tulnp | grep :23方法二ss 命令推荐sudo ss -ltnp | grep telnet方法三telnet 自检telnet localhost 23典型成功输出示例tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 1234/inetd4. 防火墙配置技巧Ubuntu 22.04 默认使用 UFW 防火墙需要放行 Telnet 端口sudo ufw allow 23/tcp sudo ufw enable如果需要更精细的控制可以限定源 IPsudo ufw allow from 192.168.1.0/24 to any port 23验证防火墙规则sudo ufw status numbered5. 登录测试与问题排查本地登录测试telnet 127.0.0.1远程登录测试从另一台主机telnet 服务器IP常见问题解决方案问题现象可能原因解决方法Connection refused服务未启动sudo systemctl restart openbsd-inetd登录后立即断开PAM 配置问题编辑/etc/pam.d/login注释相关行认证失败用户权限问题确保用户存在于/etc/passwd6. 安全加固建议虽然 Telnet 本身不安全但我们可以采取一些措施降低风险使用iptables限制访问源sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.100 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 23 -j DROP配置空闲会话超时 在/etc/inetd.conf中添加telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd -w300300秒空闲超时定期检查登录日志sudo grep telnet /var/log/auth.log7. 替代方案与进阶选择对于需要更高安全性的场景可以考虑方案一Telnet over SSH 隧道ssh -L 2323:localhost:23 userremote_host然后连接本地的 2323 端口方案二使用加密的替代品mosh(基于 UDP 的远程终端)ttyd(通过 Web 访问的终端)方案三Docker 容器化部署docker run -d -p 2323:23 --name telnetd jare/xinetd-telnetd在实际项目中我通常会先用 Telnet 快速验证网络连通性确认基础功能正常后再切换到更安全的 SSH 方案。特别是在调试嵌入式设备时Telnet 的简单协议往往能帮我们快速定位网络层的初级问题。
Ubuntu 22.04 LTS上快速开启Telnet服务,5分钟搞定远程登录测试
Ubuntu 22.04 LTS 极速部署 Telnet 服务的实战指南在开发测试环境中快速搭建一个轻量级的远程访问工具往往能极大提升工作效率。虽然 SSH 已成为现代 Linux 系统的标配但 Telnet 因其协议简单、配置快速的特点仍然是临时测试场景下的实用选择。本文将带你在 Ubuntu 22.04 LTS 上5 分钟内完成 Telnet 服务的完整部署与验证流程。1. 环境准备与安全考量在开始之前我们需要明确 Telnet 的适用场景。由于 Telnet 采用明文传输绝对不建议在生产环境或互联网开放场景中使用。它最适合以下情况本地开发机与测试环境的快速调试内网隔离环境中的临时访问验证网络端口连通性的测试工具Ubuntu 22.04 LTS 作为最新的长期支持版本其软件仓库已经过优化。我们只需要两个核心组件sudo apt update sudo apt install -y openbsd-inetd telnetd注意openbsd-inetd是新一代的超级守护进程相比传统的inetd有更好的资源管理能力。2. 服务配置与启动安装完成后系统会自动生成基础配置文件。我们需要确认服务已正确启动sudo systemctl status openbsd-inetd预期看到类似输出● openbsd-inetd.service - OpenBSD Internet Superserver Loaded: loaded (/lib/systemd/system/openbsd-inetd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-05-18 10:23:45 UTC; 1min 23s ago关键检查点确认服务状态为active (running)检查是否包含enabled标记确保开机自启如果服务未自动启动可手动执行sudo systemctl enable --now openbsd-inetd3. 网络端口验证Telnet 默认使用 23 端口我们可以通过多种方式验证服务监听状态方法一netstat 命令sudo netstat -tulnp | grep :23方法二ss 命令推荐sudo ss -ltnp | grep telnet方法三telnet 自检telnet localhost 23典型成功输出示例tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 1234/inetd4. 防火墙配置技巧Ubuntu 22.04 默认使用 UFW 防火墙需要放行 Telnet 端口sudo ufw allow 23/tcp sudo ufw enable如果需要更精细的控制可以限定源 IPsudo ufw allow from 192.168.1.0/24 to any port 23验证防火墙规则sudo ufw status numbered5. 登录测试与问题排查本地登录测试telnet 127.0.0.1远程登录测试从另一台主机telnet 服务器IP常见问题解决方案问题现象可能原因解决方法Connection refused服务未启动sudo systemctl restart openbsd-inetd登录后立即断开PAM 配置问题编辑/etc/pam.d/login注释相关行认证失败用户权限问题确保用户存在于/etc/passwd6. 安全加固建议虽然 Telnet 本身不安全但我们可以采取一些措施降低风险使用iptables限制访问源sudo iptables -A INPUT -p tcp --dport 23 -s 192.168.1.100 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 23 -j DROP配置空闲会话超时 在/etc/inetd.conf中添加telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd -w300300秒空闲超时定期检查登录日志sudo grep telnet /var/log/auth.log7. 替代方案与进阶选择对于需要更高安全性的场景可以考虑方案一Telnet over SSH 隧道ssh -L 2323:localhost:23 userremote_host然后连接本地的 2323 端口方案二使用加密的替代品mosh(基于 UDP 的远程终端)ttyd(通过 Web 访问的终端)方案三Docker 容器化部署docker run -d -p 2323:23 --name telnetd jare/xinetd-telnetd在实际项目中我通常会先用 Telnet 快速验证网络连通性确认基础功能正常后再切换到更安全的 SSH 方案。特别是在调试嵌入式设备时Telnet 的简单协议往往能帮我们快速定位网络层的初级问题。