Telnet 无法连接 Debian 通常不是“Telnet 本身坏了”,而是 Debian 默认不再启用 Telnet 服务,或 网络/防火墙/服务配置 有问题。下面按最常见原因逐一说明,并给出排查方法。
Debian 自 10(Buster)起 默认不再安装 telnetd,因为 Telnet 明文传输,不安全。
dpkg -l | grep telnet
如果没有 telnetd 或 inetd,说明 服务根本不存在。
sudo apt update
sudo apt install telnetd
安装后服务通常由 inetd 管理。
即使安装了,也可能没启动。
systemctl status inetd
# 或
ps aux | grep telnet
sudo systemctl enable inetd
sudo systemctl start inetd
Telnet 使用 TCP 23 端口。
ss -lntp | grep 23
如果没有输出,说明 服务没监听。
sudo iptables -L -n
# 或(nftables)
sudo nft list ruleset
sudo iptables -I INPUT -p tcp --dport 23 -j ACCEPT
Debian 默认启用的是 SSH,不是 Telnet。
✅ 正确做法:
ssh user@debian_ip
❌ 错误做法:
telnet debian_ip
如果你只是想远程登录,请直接用 SSH。
确认你能到达 Debian 主机:
ping debian_ip
如果 ping 不通,Telnet 一定连不上。
在 Debian 上执行:
ss -lntp | grep 23
| 结果 | 说明 |
|---|---|
| 有输出 | Telnet 服务在运行,问题在防火墙或网络 |
| 无输出 | 服务没启动或未安装 |
原因:
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
然后:
ssh username@debian_ip
请告诉我:
cat /etc/debian_version)Connection refused / Timeout)我可以给你 最小风险的可行配置方案。
Debian 无法 Telnet 连接,通常是因为:没装 telnetd、服务没启动、23 端口被防火墙拦截,或你其实应该用 SSH。
如果你愿意,我可以一步步带你排查。