在 Debian 上遇到 telnet 被拒绝(Connection refused),一般不是“被防火墙拦了”,而是目标端口上根本没有服务在监听。下面按最常见原因给你排一遍。
Debian 默认 不安装 telnet 服务端,而且很多系统根本不跑 telnet。
检查:
systemctl status inetd
# 或
ps aux | grep telnetd
如果没有 telnetd 在跑,就会:
Connection refused
✅ 解决(不推荐 telnet,建议 ssh):
sudo apt update
sudo apt install telnetd
sudo systemctl enable --now inetd
比如:
telnet 192.168.1.10 23
但对方只开了 ssh(22)
检查对方端口:
ss -lntup
比如只监听了 127.0.0.1
ss -lnt
看到:
127.0.0.1:23
那外部连就会被拒绝。
Debian 常用:
nftablesiptables检查:
sudo nft list ruleset
# 或
sudo iptables -L -n
如果是 DROP,会是 超时,不是 refused。
| 情况 | 现象 |
|---|---|
| 本机连本机 | refused = 没服务 |
| 局域网连 | refused = 端口没开 |
| 公网连 | refused = 没服务 / 安全组拦 |
⚠️ telnet 是明文协议,极不安全
✅ 正确做法:
ssh user@ip
把下面信息发我:
telnet 命令完整内容
目标系统:ss -lntup
错误截图或原文
我可以直接帮你定位是哪一层的问题。