在 Debian 系统中配置 telnet 服务主要涉及安装服务、配置参数、防火墙设置和启用服务。以下是详细步骤:
Debian 默认可能未安装 telnet 服务,需手动安装:
sudo apt update
sudo apt install telnetd # 安装 telnet 服务器
注:
telnetd是传统的 telnet 服务程序,会依赖inetd或systemd管理。
旧版 Debian(使用 inetd):
检查 /etc/inetd.conf 是否包含 telnet 配置:
grep telnet /etc/inetd.conf
若存在类似 telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd 的行,则已配置。
新版 Debian(使用 systemd):
telnetd 可能通过 systemd 管理,直接启动服务:
sudo systemctl start telnetd.socket # 启动 telnet socket
sudo systemctl enable telnetd.socket # 设置开机自启
编辑 /etc/inetd.conf,添加或修改 telnet 行(若使用 inetd):
sudo nano /etc/inetd.conf
确保存在以下内容(若无则添加):
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
重启 inetd 服务:
sudo systemctl restart inetd # 或 sudo /etc/init.d/inetd restart
若启用了防火墙(如 ufw 或 iptables),需开放 23 端口(telnet 默认端口):
sudo ufw allow 23/tcp
sudo ufw reload
sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT
sudo iptables-save # 保存规则(需根据系统配置持久化)
启动 telnet 服务:
sudo systemctl start telnetd # 若服务单元存在
或重启 inetd(若使用 inetd):
sudo systemctl restart openbsd-inetd # Debian 常用 inetd 实现
检查服务状态:
sudo systemctl status telnetd # 或检查 inetd 状态
ss -tlnp | grep 23 # 确认 23 端口监听
本地测试连接:
telnet localhost 23
若成功,会提示输入用户名和密码。
为避免直接使用 root 登录(telnet 默认禁止 root 远程登录),可创建普通用户:
sudo adduser testuser # 按提示设置密码
使用 testuser 登录 telnet。
telnet 协议为明文传输,存在安全风险,建议仅在测试环境使用!
生产环境推荐使用 SSH:
sudo apt install openssh-server # 安装 SSH 服务
sudo systemctl enable --now sshd
连接被拒绝:
systemctl status telnetd 或 ss -tlnp | grep 23。登录失败:
/etc/securetty 未禁止该用户(telnet 默认允许普通用户登录)。root 无法登录:
/etc/securetty 添加 pts/0 等终端(不推荐,极不安全)。以上步骤可帮助你在 Debian 上完成 telnet 的基础配置。如果需要更复杂的配置(如修改默认端口),可进一步调整 /etc/inetd.conf 或 systemd 单元文件。