在 Debian 上 telnet 登录失败 的原因通常可以归纳为以下几类(从最常见到较少见):
Debian 默认 不安装也不启用 telnet 服务。
systemctl status inetd
# 或
ps aux | grep telnetd
apt update
apt install telnetd openbsd-inetd
systemctl enable --now openbsd-inetd
⚠️ 现代系统更推荐
ssh,telnet 是明文传输
即使服务在运行,端口也可能被挡。
ss -tnlp | grep 23
iptables -L -n
# 或 nft
nft list ruleset
iptables -A INPUT -p tcp --dport 23 -j ACCEPT
云服务器还需检查 安全组规则
Debian 默认禁止 root 直接 telnet,某些用户也会受限。
/etc/passwd # 用户 shell 是否为 /bin/bash
/etc/securetty # 是否允许 telnet 终端
/etc/ftpusers # 某些版本也限制 telnet
root: /usr/sbin/nologin # 无法登录
PAM 可能禁止 telnet 登录。
cat /etc/pam.d/login
cat /etc/pam.d/telnet
常见问题:
pam_securetty.so 限制pam_nologin.so 存在 /etc/nologin如果你用的是 xinetd:
cat /etc/xinetd.d/telnet
确保:
disable = no
然后:
systemctl restart xinetd
cat /etc/hosts.deny
cat /etc/hosts.allow
inetdping 通telnet ip 23 是否连接如果你愿意,可以贴出:
systemctl status 或日志 /var/log/auth.log我可以帮你精确定位原因。