温馨提示×

Debian如何修复telnet

小樊
52
2026-07-01 21:25:06
栏目: 智能运维

在 Debian 系统中修复 telnet 不可用/无法连接/服务未启用 的问题,可以按下面步骤逐步排查和修复。下面按 常见原因 → 对应解决方法 来说明。


一、确认 telnet 是否已安装

Debian 默认 不再预装 telnet 客户端和服务端

1️⃣ 检查是否安装

which telnet
telnet --version

2️⃣ 安装 telnet 客户端(用于连接其他设备)

sudo apt update
sudo apt install telnet

二、如果是 telnet 服务端不可用(别人连不上你)

⚠️ 注意:现代系统推荐用 SSH,telnet 明文传输,不安全

1️⃣ 安装 telnet 服务器

sudo apt install telnetd

2️⃣ 启动 telnet 服务

Debian 使用 inetdsystemd 管理 telnet。

✅ 方式一(推荐):使用 inetd

sudo apt install openbsd-inetd

编辑配置文件:

sudo nano /etc/inetd.conf

确认有类似行(没有就加上):

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

重启 inetd:

sudo systemctl restart openbsd-inetd

3️⃣ 确认端口监听

ss -lntp | grep 23

netstat -lntp | grep 23

看到 0.0.0.0:23 说明 telnet 服务已监听。


三、防火墙阻止 telnet(非常常见)

1️⃣ 检查防火墙

sudo iptables -L -n

2️⃣ 放行 23 端口(临时)

sudo iptables -I INPUT -p tcp --dport 23 -j ACCEPT

或(如果是 ufw):

sudo ufw allow 23/tcp

四、telnet 能连但立刻断开(常见原因)

1️⃣ 检查 /etc/shells

如果登录用户的 shell 不在列表中,会立刻断开:

grep /bin/bash /etc/shells

若没有:

echo "/bin/bash" | sudo tee -a /etc/shells

2️⃣ 检查登录用户是否允许登录

passwd -S 用户名

锁定状态:

sudo passwd -u 用户名

五、telnet 命令存在但无法使用(报错)

常见错误与修复

错误信息 解决方法
bash: telnet: command not found 安装 telnet
Connection refused 未启动 telnet 服务
Connection timed out 防火墙 / IP 不通
Unable to connect to remote host 目标端口未开

六、Debian 强烈建议的做法(重要)

不要在生产环境使用 telnet

请使用 SSH:

sudo apt install openssh-server
sudo systemctl enable ssh

七、快速诊断脚本(可选)

echo "=== Telnet 检查 ==="
which telnet || echo "未安装 telnet"
ss -lntp | grep 23 || echo "23 端口未监听"
systemctl status openbsd-inetd 2>/dev/null

如果你能提供 具体错误信息(例如 Connection refusedtimeout、登录后立刻退、Debian 版本),我可以给你更精确的修复方案。

0