Ubuntu 使用 Telnet 远程管理的完整步骤
一 安装与启用 Telnet 服务
- 在 Ubuntu 上安装 Telnet 服务端(常见为 inetd/telnetd 的组合),并启动“超级服务器”来托管 Telnet 会话。以下示例适用于 Ubuntu 24.04 LTS,同样适用于 22.04/20.04。
- 步骤:
- 安装软件包
sudo apt update
sudo apt install -y telnetd inetd
- 启用 inetd 托管 Telnet(两种常见方式,二选一或并存,取决于系统是否使用 xinetd)
- 方式 A(使用 inetd.conf):编辑 /etc/inetd.conf,在末尾添加
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
- 方式 B(使用 xinetd):创建 /etc/xinetd.d/telnet,内容示例
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
- 重启服务并验证
sudo systemctl restart inetd
若使用 xinetd,则:sudo systemctl restart xinetd
sudo systemctl status inetd
- 说明:部分系统由 xinetd 读取 /etc/xinetd.d/ 配置;若未安装 xinetd,可仅使用 inetd 方式。
二 防火墙与访问控制
- 开放 23/TCP(Telnet 默认端口):
- UFW:sudo ufw allow 23/tcp
- firewalld:sudo firewall-cmd --permanent --add-port=23/tcp && sudo firewall-cmd --reload
- 限制来源 IP(强烈建议):
- 使用 UFW:sudo ufw allow from <你的IP或网段> to any port 23
- 使用 hosts.allow/hosts.deny:在 /etc/hosts.allow 添加
in.telnetd: 192.168.1.0/24, 203.0.113.10: allow
在 /etc/hosts.deny 添加
in.telnetd: ALL: deny
- 说明:限制访问范围能显著降低暴露面与暴力破解风险。
三 客户端连接与登录
- 在另一台机器连接目标服务器:
telnet <服务器IP> 23
- 登录后可直接执行系统命令(如 ls、df、top 等)。
- 若连接失败,检查:目标机是否监听 23/TCP、防火墙是否放行、以及 inetd/xinetd 是否运行。
四 安全建议与 SSH 替代
- 风险提示:Telnet 以明文传输用户名与密码,易被窃听与中间人攻击,不建议在生产环境长期使用。
- 更安全的做法:使用 SSH 替代 Telnet。
- 安装与启动:sudo apt install -y openssh-server && sudo systemctl enable --now ssh
- 防火墙放行:sudo ufw allow ssh
- 连接:ssh 用户名@服务器IP
- 临时使用 Telnet 时,务必结合:限制来源 IP、最小权限账户、开启日志审计与监控。