当前位置:首页 > Linux > 正文

如何启动linux telnet服务器

telnet-server包,修改/etc/xinetd.d/ telnet中的disable为no,重启xinetd服务即可启动Linux Telnet服务器

是如何在Linux系统中启动Telnet服务器的详细步骤:

安装Telnet服务器软件

根据不同的Linux发行版,使用对应的包管理工具进行安装,需要注意的是,由于Telnet协议的安全性较低(数据以明文传输),许多现代发行版默认不再预装该服务,甚至可能完全移除相关组件,以下是具体操作命令:

  • 基于Debian/Ubuntu的系统(如Ubuntu):执行 sudo apt-get install telnetd,此命令会从官方软件源下载并自动完成依赖项配置;若提示找不到包,建议先更新软件索引(sudo apt update)。
  • 基于RHEL/CentOS的系统(如CentOS):运行 sudo yum install telnet-server,安装完成后可通过 rpm -qa | grep telnet 验证是否成功安装核心程序包,对于较新的系统版本,也可能支持 sudo dnf install telnet-server

注意:某些极简安装环境可能需要额外指定存储库或手动获取RPM包进行安装,在缺少网络连接的情况下,可预先下载离线安装包再通过 rpm -ivh package.rpm 方式部署。

配置Telnet服务参数

安装完成后需修改配置文件以激活服务,主流Linux系统通常采用两种管理机制:xinetd(扩展互联网守护进程)或独立Systemd单元文件,以下是两种场景的配置方法:

修改/etc/xinetd.d/telnet文件(传统方式)

用文本编辑器打开该文件(如 sudo vi /etc/xinetd.d/telnet),重点关注以下关键行:
| 参数项 | 原始值 | 推荐修改值 | 作用说明 |
|—————–|————-|————–|——————————|
| disable | yes | no | 启用服务的核心开关 |
| flags | REUSE | 保持默认 | 允许重用套接字资源 |
| socket_type | stream | 保持默认 | 定义网络通信类型为流式传输 |
| wait | no | 保持默认 | 多线程处理并发连接请求 |
| user | root | 根据需求调整 | 指定运行服务的权限账户 |
| server | /usr/sbin/in.telnetd | 勿改动 | 实际提供服务的程序路径 |

特别地,若需限制特定IP段访问,可在文件中添加 only_from=<允许的IP范围> 条目;若希望更改监听端口(非必要不推荐),则修改 port=23 中的数值,保存退出后,必须重启关联的守护进程使配置生效。

Systemd方式(适用于较新发行版)

部分系统已将Telnet整合到Systemd体系中,此时可直接操作服务单元:

sudo systemctl start telnetd      # 立即启动服务
sudo systemctl enable telnetd     # 设置为开机自启

通过 systemctl status telnetd 可查看运行状态及日志输出。

启动与验证服务状态

无论采用哪种配置方式,最终都需要确保服务正常运行:

  • 基于xinetd的环境:执行 sudo service xinetd restart 重新加载配置变更,随后使用 netstat -tnlp | grep :23 检查TCP端口23是否处于监听状态;或者用 ss -tuln | grep :23 获取更详细的网络栈信息。
  • Systemd环境:直接调用 systemctl restart telnetd 刷新服务实例,配合 journalctl -u telnetd 查看实时启动日志有助于故障排查。

测试连通性时,可以在本地终端输入 telnet localhost 23,若能成功建立连接并看到登录提示符(如 “login:”),则表明基础功能正常,进一步测试可尝试从另一台机器远程连接(需确保防火墙放行了入站流量)。

防火墙设置与安全加固

由于Telnet默认使用23号端口,且该协议缺乏加密机制,必须严格限制网络暴露范围:

  • iptables规则添加:依次执行以下命令开放本地回环接口之外的合法来源请求:
    sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT
    sudo systemctl restart iptables      # 应用新规则集
  • firewalld兼容性配置:偏好图形化管理的用户可选择永久启用策略:
    sudo firewall-cmd --permanent --add-service=telnet
    sudo firewall-cmd --reload             # 重新载入防火墙策略

    强烈建议:仅允许信任网段的主机访问此高危端口,避免直接暴露于公网,生产环境中应优先考虑更安全的SSH替代方案。

高级安全策略建议

尽管完成了上述步骤可以正常使用Telnet功能,但从信息安全角度出发,仍有几个重要事项需要注意:

  1. 禁用root直接登录:编辑配置文件中的 user 字段为普通账号,防止攻击者暴力破解超级用户密码。
  2. 日志审计强化:定期检查 /var/log/secure 等相关日志文件,监控异常登录行为。
  3. 替代方案优先:对于新建系统,推荐部署OpenSSH等加密型远程管理工具,逐步淘汰脆弱的Telnet协议。

FAQs

Q1: Telnet连接被拒绝怎么办?

解答:首先确认服务端是否正常运行(systemctl status telnetdservice xinetd status);其次检查防火墙设置,确保端口23已放行;最后验证客户端能否访问其他网络服务,排除路由问题,常见错误还包括配置文件中disable未设为no,此时需重新编辑 /etc/xinetd.d/telnet并重启服务。

Q2: Telnet和SSH有什么区别?为什么大家都说不要用Telnet?

解答:Telnet的所有通信内容(包括用户名和密码)均以明文传输,容易被嗅探工具截获;而SSH采用非对称加密技术保护数据传输通道,SSH支持密钥认证、X11转发等高级特性,安全性与功能性均优于Telnet,目前主流操作系统已默认禁用Telnet服务,仅在特殊场景下保留其作为应急调试手段

0