在 Debian 系统中,telnet 本身不是一个必须服务,通常是通过 telnetd(telnet 服务端) 或 inetd/xinetd 提供的。禁用方式取决于它是如何运行的。下面按常见情况说明。
ss -lntp | grep 23
# 或
netstat -lntp | grep 23
如果有输出,说明 telnet 服务正在运行。
inetd 启动(常见于老系统)/etc/inetd.confgrep telnet /etc/inetd.conf
如果看到类似:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
编辑文件:
sudo nano /etc/inetd.conf
在 telnet 行前加 # 注释掉,然后保存。
sudo systemctl restart inetd
# 或
sudo service openbsd-inetd restart
systemd 直接运行systemctl list-units --type=service | grep telnet
常见服务名:
telnet.sockettelnet.servicesudo systemctl stop telnet.socket
sudo systemctl disable telnet.socket
注意:有些系统只启用了 socket,而不是 service。
telnetd 但没运行(最推荐)sudo apt remove telnetd
# 或
sudo apt purge telnetd
sudo apt autoremove
✅ 这是最干净、最安全的方式
如果系统启用了防火墙,确保 23 端口未开放:
sudo iptables -A INPUT -p tcp --dport 23 -j DROP
sudo ufw deny 23
Telnet 是明文协议,生产环境应完全禁用,改用 SSH。
检查 SSH 是否可用:
systemctl status ssh
✅ 直接卸载 telnet 服务端(推荐)
sudo apt purge telnetd
✅ 确认 23 端口不再监听
ss -lntp | grep 23
如果你愿意,可以告诉我:
cat /etc/debian_version)我可以给你更精确的命令。