Ubuntu Telnet连接被拒绝的定位与修复
一、先快速定位问题
sudo ss -tulnp | grep :23 或 sudo netstat -tulnp | grep :23。若没有输出,说明 Telnet 服务未启动或未安装。telnet 127.0.0.1 23,若仍被拒绝,基本可确定是服务未运行或配置问题。sudo ufw status;若启用,确保放行23/tcp:sudo ufw allow 23/tcp。telnet 目标IP 3306 并确认对应服务与防火墙策略。二、安装并启动 Telnet 服务
sudo apt update && sudo apt install telnetsudo apt install telnetd xinetd(部分系统也使用 inetd/openbsd-inetd,见下文差异)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 } /etc/inetd.conf 加入:telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetdsudo systemctl restart xinetdsudo systemctl enable xinetdss -tulnp | grep :23,应看到0.0.0.0:23或:::23处于 LISTEN。三、核对防火墙与网络连通
sudo ufw allow 23/tcp,随后 sudo ufw reload 或 sudo systemctl restart ufw,并用 sudo ufw status 确认规则生效。ping 目标IP、traceroute 目标IP 排查路由与连通性;若跨网段,确认网关与 ACL 策略。四、常见差异与替代方案
sudo apt install openbsd-inetd,然后编辑 /etc/inetd.conf 启用 telnet 并重启 inetd 服务。sudo apt install openssh-server && sudo systemctl enable --now sshsudo ufw allow 22/tcpssh 用户名@目标IP。五、仍未恢复时的排查清单
sudo systemctl status xinetd、sudo tail -f /var/log/syslog、sudo journalctl -xe,从日志中定位启动失败或访问拒绝的具体原因。ss -tulnp | grep :23,确保不是仅监听127.0.0.1。