温馨提示×

如何禁用Debian的telnet

小樊
49
2026-08-25 12:42:45
栏目: 智能运维

在 Debian 系统中,telnet 本身不是一个必须服务,通常是通过 telnetd(telnet 服务端)inetd/xinetd 提供的。禁用方式取决于它是如何运行的。下面按常见情况说明。


一、确认 telnet 是否在运行

1. 查看是否监听 23 端口

ss -lntp | grep 23
# 或
netstat -lntp | grep 23

如果有输出,说明 telnet 服务正在运行。


二、如果 telnet 通过 inetd 启动(常见于老系统)

1. 检查 /etc/inetd.conf

grep telnet /etc/inetd.conf

如果看到类似:

telnet  stream  tcp  nowait  root  /usr/sbin/tcpd  in.telnetd

2. 禁用 telnet

编辑文件:

sudo nano /etc/inetd.conf

在 telnet 行前加 # 注释掉,然后保存。

3. 重启 inetd

sudo systemctl restart inetd
# 或
sudo service openbsd-inetd restart

三、如果 telnet 通过 systemd 直接运行

1. 查看 telnet 服务

systemctl list-units --type=service | grep telnet

常见服务名:

  • telnet.socket
  • telnet.service

2. 停止并禁用

sudo systemctl stop telnet.socket
sudo systemctl disable telnet.socket

注意:有些系统只启用了 socket,而不是 service。


四、如果安装了 telnetd 但没运行(最推荐)

1. 卸载 telnet 服务端

sudo apt remove telnetd
# 或
sudo apt purge telnetd

2. 同时清理依赖

sudo apt autoremove

这是最干净、最安全的方式


五、确认防火墙(可选但推荐)

如果系统启用了防火墙,确保 23 端口未开放:

iptables

sudo iptables -A INPUT -p tcp --dport 23 -j DROP

ufw

sudo ufw deny 23

六、强烈建议

Telnet 是明文协议,生产环境应完全禁用,改用 SSH。

检查 SSH 是否可用:

systemctl status ssh

总结(最常用方案)

直接卸载 telnet 服务端(推荐)

sudo apt purge telnetd

确认 23 端口不再监听

ss -lntp | grep 23

如果你愿意,可以告诉我:

  • Debian 版本(cat /etc/debian_version
  • 是服务器还是桌面环境

我可以给你更精确的命令。

0