Telnet服务在Ubuntu中默认未安装,需手动安装telnetd(服务器组件)和xinetd(超级守护进程)。执行以下命令安装:
sudo apt update
sudo apt install telnetd xinetd
安装完成后,系统会自动配置基础文件。
安装后,通过以下命令确认服务状态:
sudo systemctl status telnet.socket # 检查telnet.socket状态(systemd系统)
sudo systemctl status xinetd # 检查xinetd状态(若使用xinetd管理)
若服务未启动,使用以下命令启动并设置开机自启:
sudo systemctl start telnet.socket
sudo systemctl enable telnet.socket
或针对xinetd:
sudo systemctl start xinetd
sudo systemctl enable xinetd
Telnet的配置文件通常位于/etc/xinetd.d/telnet,需确保以下关键配置未被注释(无#开头):
service telnet {
disable = no # 必须设置为no,表示启用服务
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
修改后,重启xinetd服务使配置生效:
sudo systemctl restart xinetd
Ubuntu默认使用ufw防火墙,需允许Telnet的23端口(TCP协议):
sudo ufw allow 23/tcp # 允许Telnet端口
sudo ufw reload # 重新加载防火墙规则
若使用iptables,可执行:
sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT
sudo service iptables save # 保存规则(部分系统需安装iptables-persistent)
ping命令确认本机网络正常:ping 127.0.0.1
sudo netstat -tulnp | grep 23
# 或
sudo ss -tulnp | grep 23
若无输出,说明服务未正确启动,需重新检查服务状态和配置。若以上步骤均无效,通过日志获取具体错误信息:
sudo journalctl -u telnet.socket # 查看telnet.socket日志(systemd系统)
sudo tail -f /var/log/syslog # 实时查看系统日志(传统系统)
日志中常见的错误包括“port already in use”(端口被占用)、“permission denied”(权限问题),根据提示进一步排查。
Telnet协议传输数据未加密,存在安全风险。生产环境中建议使用SSH(Secure Shell)替代,SSH提供加密通信,更安全可靠。安装SSH并启动服务:
sudo apt install openssh-server
sudo systemctl start ssh
sudo systemctl enable ssh