在 Debian 里,telnet 本身并不是“权限”服务,而是依赖 inetd / xinetd / systemd socket 启动,再加上 Linux 用户/文件权限 + PAM 来控制访问。下面按常见场景给你梳理一下。
Debian 默认不装 telnet server
sudo apt update
sudo apt install telnetd
telnet 默认端口是 23(特权端口)
✅ 正常情况:
❌ 错误情况:
telnetd 用普通用户跑 → 端口绑定失败passwd -S 用户名
状态:
L = 锁定P = 有密码NP = 无密码解锁:
sudo passwd -u 用户名
telnet 登录依赖 shell
grep 用户名 /etc/passwd
示例:
user:x:1000:1000::/home/user:/bin/bash
如果 shell 是 /bin/false 或 /usr/sbin/nologin
→ telnet 直接断开
Debian 常用 PAM 限制:
/etc/pam.d/login或
/etc/pam.d/telnet
常见限制:
auth required pam_securetty.so
securetty 登录✅ 解决(不推荐生产): 注释掉该行
cat /etc/securetty
如果没有 pts/0、pts/1 等
→ telnet 无法登录
Debian 默认禁止 root telnet 原因:
✅ 正确做法:
普通用户 telnet → su / sudo
❌ 强行允许(不推荐): 修改 PAM 或 securetty(不建议)
ls -ld /home/用户名
应为:
drwxr-xr-x
如果是:
drwxrwxrwx
→ 很多服务拒绝登录
修复:
chmod 755 /home/用户名
chmod 644 ~/.bashrc
Debian 10+ 常用:
systemctl status telnet.socket
启动:
sudo systemctl enable --now telnet.socket
如失败:
journalctl -xe
⚠️ telnet:
✅ 推荐替代:
ssh user@ip
为了更精确帮你,请说:
cat /etc/debian_version)我可以给你逐条对应命令。