温馨提示×

Ubuntu系统中Telnet连接被拒绝怎么办

小樊
34
2025-11-16 12:57:05
栏目: 智能运维

Ubuntu Telnet连接被拒绝的定位与修复

一、先快速定位问题

  • 在客户端确认报错是否为:Connection refused(被拒绝)而非超时。被拒绝通常意味着目标机器的23/TCP端口没有服务在监听,或被访问控制直接拒绝。
  • 在目标机器本地自检监听与连通:
    • 查看是否监听23端口:sudo ss -tulnp | grep :23sudo netstat -tulnp | grep :23。若没有输出,说明 Telnet 服务未启动或未安装。
    • 本机自测:telnet 127.0.0.1 23,若仍被拒绝,基本可确定是服务未运行或配置问题。
    • 检查防火墙:sudo ufw status;若启用,确保放行23/tcpsudo ufw allow 23/tcp
    • 若你实际要连的是**MySQL(3306)**等非 Telnet 服务,请改为 telnet 目标IP 3306 并确认对应服务与防火墙策略。

二、安装并启动 Telnet 服务

  • 安装必要组件:
    • 客户端(若本机也需要发起 telnet):sudo apt update && sudo apt install telnet
    • 服务端:sudo apt install telnetd xinetd(部分系统也使用 inetd/openbsd-inetd,见下文差异)
  • 配置 xinetd 启用 Telnet:
    • 创建或编辑:sudo nano /etc/xinetd.d/telnet,确保内容类似:
      service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID } 
    • 如系统使用 inetd,可在 /etc/inetd.conf 加入:
      telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
  • 启动与开机自启:
    • sudo systemctl restart xinetd
    • sudo systemctl enable xinetd
  • 再次验证监听:ss -tulnp | grep :23,应看到0.0.0.0:23:::23处于 LISTEN。

三、核对防火墙与网络连通

  • UFW 放行端口:sudo ufw allow 23/tcp,随后 sudo ufw reloadsudo systemctl restart ufw,并用 sudo ufw status 确认规则生效。
  • 云服务器或虚拟化环境需额外检查:
    • 云平台安全组/NACL 是否放行23/TCP入站。
    • 虚拟机网络模式(如 NAT/桥接)与端口转发是否正确;在 VirtualBox 中,桥接并启用**混杂模式(Promiscuous Mode: Allow All)**有助于多机互通。
  • 网络连通性:ping 目标IPtraceroute 目标IP 排查路由与连通性;若跨网段,确认网关与 ACL 策略。

四、常见差异与替代方案

  • 不同发行版/版本对 inetd 的实现有所差异:有的默认使用 xinetd,有的使用 openbsd-inetd。若系统没有 xinetd,可尝试 sudo apt install openbsd-inetd,然后编辑 /etc/inetd.conf 启用 telnet 并重启 inetd 服务。
  • 若你只是需要远程登录,建议优先使用更安全的 SSH(端口22/TCP):
    • 安装并启动:sudo apt install openssh-server && sudo systemctl enable --now ssh
    • 防火墙放行:sudo ufw allow 22/tcp
    • 连接测试:ssh 用户名@目标IP

五、仍未恢复时的排查清单

  • 查看服务状态与日志:sudo systemctl status xinetdsudo tail -f /var/log/syslogsudo journalctl -xe,从日志中定位启动失败或访问拒绝的具体原因。
  • 再次确认监听地址与端口:ss -tulnp | grep :23,确保不是仅监听127.0.0.1
  • 若你实际连接的是数据库等服务(如 3306/6379),请针对对应服务与端口放行与监听检查,避免误用 telnet 端口。

0