在 Debian 上 telnet 登录失败 通常有以下几种常见原因,按出现频率从高到低说明:
现代 Debian 默认不安装 telnet server,即使装了也常未启动。
dpkg -l | grep telnet
若没有 telnetd 或 inetd,说明未安装。
sudo apt update
sudo apt install telnetd openbsd-inetd
sudo systemctl restart openbsd-inetd
Debian 10+ 多用 openbsd-inetd 来启动 telnet。
grep telnet /etc/inetd.conf
应有类似:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
若无,手动添加并重启:
sudo systemctl restart openbsd-inetd
ss -lntp | grep 23
若无监听,说明服务没起来。
sudo iptables -L
# 或
sudo nft list ruleset
即使 telnet 起来了,也可能被拒绝登录。
/etc/pam.d/login 限制/etc/security/access.confDebian 默认 禁止 root 通过 telnet 登录
✅ 用普通用户登录后再 su / sudo
telnet 登录用户必须有合法 shell:
grep $USER /etc/passwd
grep /bin/bash /etc/shells
若 shell 不在 /etc/shells,telnet 会直接断开。
journalctl -u openbsd-inetd
dmesg
cat /var/log/auth.log
不要用 telnet(明文传输,极不安全)
请改用:
ssh user@host
如果只是为了测试网络连通性:
nc host 23
如果你愿意,可以贴出:
auth.log 或客户端提示我可以帮你精准定位原因。