在 Debian 里 telnet 无法登录,一般不是“网络不通”就是“服务/权限被禁了”。下面按最常见原因 → 排查步骤 → 解决办法给你一套思路。
telnet localhost 23
ss -lntp | grep 23
# 或
netstat -lntp | grep 23
没有 0.0.0.0:23 或 :23 → telnet 服务没启动
Debian 默认不安装 telnet 服务,而且即使装了,也常被限制。
sudo apt update
sudo apt install telnetd openbsd-inetd
启动:
sudo systemctl enable openbsd-inetd
sudo systemctl start openbsd-inetd
再试:
telnet localhost 23
即使服务在,也可能登不进,提示:
Login incorrectPermission deniedcat /etc/pam.d/login
常见限制:
auth required pam_securetty.so
⚠️ 这表示 只允许安全终端(tty)登录,telnet 不行
注释掉:
sudo sed -i 's/^auth.*pam_securetty.so/#&/' /etc/pam.d/login
telnet 默认不允许 root 直接登录
su - 或 sudoiptables -L -n
放行:
iptables -A INPUT -p tcp --dport 23 -j ACCEPT
nft list ruleset
⚠️ telnet 是明文传输,极不安全
✅ 推荐直接用 SSH:
ssh user@ip
| 检查项 | 命令 |
|---|---|
| 服务是否装 | `dpkg -l |
| 端口是否监听 | `ss -lntp |
| 是否被 PAM 禁 | /etc/pam.d/login |
| root 是否禁 | telnet 默认禁 |
| 防火墙 | iptables / nft |
你可以告诉我:
cat /etc/debian_version)我可以一步一步帮你查到具体原因。