Telnet因传输数据未加密,在生产环境中不建议使用,但若需恢复其设置(如测试或旧系统兼容),可按以下步骤操作:
首先确保系统软件包为最新版本,避免因依赖问题导致安装失败:
sudo apt update && sudo apt upgrade -y
Ubuntu默认不安装Telnet服务器,需通过以下命令安装:
inetd的系统(较旧版本):sudo apt install inetd -y
xinetd的系统(较新版本,如Ubuntu 22.04及以上):sudo apt install xinetd telnetd -y
根据系统使用的超级服务器(inetd或xinetd),修改对应配置文件:
inetd(传统方式)编辑/etc/inetd.conf文件,找到Telnet配置行(通常位于文件末尾),取消注释(删除行首#):
sudo nano /etc/inetd.conf
确保包含以下内容:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
保存并退出(Ctrl+O→Enter→Ctrl+X)。
xinetd(现代方式)编辑/etc/xinetd.d/telnet文件(若不存在则创建),确保内容如下:
sudo nano /etc/xinetd.d/telnet
service telnet
{
disable = no # 关键:启用Telnet服务
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID # 记录登录失败信息
}
保存并退出。
配置修改后,需重启对应的超级服务器以应用更改:
inetd系统:sudo systemctl restart inetd
xinetd系统:sudo systemctl restart xinetd
若系统启用了ufw防火墙,需开放Telnet默认端口(23/tcp):
sudo ufw allow 23/tcp
sudo ufw reload # 重新加载防火墙规则
sudo systemctl status inetd # 或 xinetd
若显示“active (running)”,则表示服务已启动。telnet localhost
若出现“Trying 127.0.0.1…”及登录提示,说明恢复成功。sudo apt install openssh-server)替代。sudo systemctl enable inetd # 或 xinetd
通过以上步骤,即可恢复Ubuntu系统中的Telnet设置。如需更安全的远程访问,强烈推荐使用SSH协议。