凌峰创科服务平台

Linux下如何搭建与配置telnet服务器?

下面我将为您提供一个详细的、分步的指南,以在主流的 Linux 发行版(如 Ubuntu/Debian 和 CentOS/RHEL)上安装和配置 Telnet 服务器。

Linux下如何搭建与配置telnet服务器?-图1
(图片来源网络,侵删)

重要警告:Telnet 的安全性

在开始之前,请务必了解:

  • 明文传输:Telnet 不会对传输的数据进行加密,这意味着在您的网络中,任何能够嗅探网络流量的设备都可以轻易地截获您的用户名、密码和所有操作命令。
  • 现代替代品:对于任何需要安全远程访问的场景,SSH (Secure Shell) 是绝对的标准和推荐选择,SSH 对所有通信进行加密,并且是现代 Linux 系统的默认配置。
  • 仅限特定用途:Telnet 仅建议用于以下情况:
    • 测试网络连通性(telnet <ip> <port>)。
    • 在完全受信任的内部网络中,连接到特定的、没有 SSH 服务的网络设备(如一些老旧的打印机、交换机、路由器)进行管理。
    • 在学习环境中了解网络协议。

第一步:安装 Telnet 服务器

根据您的 Linux 发行版,使用相应的包管理器来安装,这里我们介绍最常用的 xinetd 方式,它是一种“按需启动”的服务,效率更高。

对于 Ubuntu/Debian 系统

  1. 更新软件包列表

    sudo apt update
  2. 安装 Telnet 服务器: 在 Ubuntu/Debian 上,通常通过安装 telnetd 包来启用服务器功能,它依赖于 xinetd

    Linux下如何搭建与配置telnet服务器?-图2
    (图片来源网络,侵删)
    sudo apt install telnetd xinetd

    安装过程中,系统可能会自动配置 xinetd,如果没自动配置,请继续下一步。

对于 CentOS/RHEL/Fedora 系统

  1. 安装 Telnet 服务器: 在 CentOS/RHEL 上,我们同样安装 telnet-server 包,它也依赖于 xinetd
    sudo yum install telnet-server xinetd
    # 对于 CentOS 8/RHEL 8/Fedora 及以上版本,使用 dnf
    # sudo dnf install telnet-server xinetd

第二步:配置 Telnet 服务器

xinetd 是一个超级守护进程,它负责管理像 Telnet 这样的网络服务,我们需要确保 xinetd 配置文件中启用了 Telnet 服务。

  1. 编辑 Telnet 配置文件: 使用您喜欢的文本编辑器(如 nanovim)打开 Telnet 的 xinetd 配置文件。

    sudo nano /etc/xinetd.d/telnet
  2. 修改配置内容: 打开文件后,您会看到类似下面的内容:

    Linux下如何搭建与配置telnet服务器?-图3
    (图片来源网络,侵删)
    # default: on
    # description: The telnet server serves telnet sessions; it uses \
    #       unencrypted username/password pairs for authentication.
    service telnet
    {
            flags           = REUSE
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/sbin/in.telnetd
            log_on_failure  += USERID
            disable         = yes
    }

    关键点

    • disable = yes:这一行表示 Telnet 服务被禁用,我们需要将其改为 no 来启用它。
    • server = /usr/sbin/in.telnetd:这指定了 Telnet 服务器的可执行文件路径。
  3. 启用服务: 将 disable = yes 修改为 disable = no

    # ... (其他内容保持不变)
    disable         = no  # <--- 修改这里
    # ... (其他内容保持不变)
  4. 保存并退出: 在 nano 中,按 Ctrl + X,然后按 Y,最后按 Enter 保存。


第三步:启动并启用服务

我们需要启动 xinetd 服务,并设置它在系统启动时自动运行。

  1. 启动 xinetd 服务

    # 对于 systemd 系统 (Ubuntu 16.04+, CentOS 7+)
    sudo systemctl start xinetd
    # 对于旧的 SysVinit 系统 (CentOS 6, Ubuntu 14.04 等)
    # sudo service xinetd start
  2. 设置 xinetd 开机自启

    # 对于 systemd 系统
    sudo systemctl enable xinetd
    # 对于旧的 SysVinit 系统
    # sudo chkconfig xinetd on
  3. 检查服务状态

    # 对于 systemd 系统
    sudo systemctl status xinetd

    您应该看到绿色的 active (running) 字样,表示服务正在运行。


第四步:配置防火墙

如果您的服务器启用了防火墙(如 ufwfirewalld),需要允许 Telnet 使用的 TCP 端口(默认是 23)。

对于 Ubuntu/Debian (使用 UFW)

  1. 允许 Telnet 端口

    sudo ufw allow telnet

    或者直接指定端口:

    sudo ufw allow 23/tcp
  2. 重新加载防火墙(UFW 已启用):

    sudo ufw reload

对于 CentOS/RHEL (使用 Firewalld)

  1. 永久添加 Telnet 服务规则

    sudo firewall-cmd --permanent --add-service=telnet
  2. 重新加载防火墙以应用更改

    sudo firewall-cmd --reload

第五步:测试 Telnet 服务器

您可以从另一台计算机(或者在同一个 Linux 系统的终端里)来测试连接。

  1. 使用 Telnet 客户端连接: 假设您的服务器 IP 地址是 168.1.100,在客户端的命令行中输入:

    telnet 192.168.1.100

    或者直接使用主机名:

    telnet your-server-hostname
  2. 登录: 连接成功后,您会看到类似下面的提示,要求您输入用户名和密码。

    Trying 192.168.1.100...
    Connected to 192.168.1.100.
    Escape character is '^]'.
    login: 
    Password: 

    输入您在服务器上创建的有效用户名和密码,如果登录成功,您将看到一个 Shell 提示符,就像直接在服务器前操作一样。


第六步:如何禁用/卸载 Telnet

出于安全考虑,如果您只是临时测试,之后应该立即禁用或卸载它。

  1. 禁用服务(推荐): 这是最快的方法,它会立即关闭服务但保留软件包。

    # 编辑 /etc/xinetd.d/telnet 文件,将 disable = no 改回 disable = yes
    sudo nano /etc/xinetd.d/telnet
    # ... 修改 disable = yes ...
    sudo systemctl restart xinetd # 或 sudo service xinetd restart
  2. 卸载软件包: 如果您确定不再需要,可以完全卸载。

    # Ubuntu/Debian
    sudo apt remove telnetd xinetd
    # CentOS/RHEL
    sudo yum remove telnet-server xinetd
    # 或
    sudo dnf remove telnet-server xinetd
步骤 操作 命令 (示例)
安装 安装 Telnet 和 xinetd sudo apt install telnetd xinetd
配置 编辑 xinetd 配置文件启用服务 sudo nano /etc/xinetd.d/telnet (修改 disable = no)
启动 启动并设置 xinetd 开机自启 sudo systemctl start xinetd & sudo systemctl enable xinetd
防火墙 开放 23 端口 sudo ufw allow 23/tcp
测试 从客户端连接 telnet <server_ip>
清理 禁用或卸载服务 编辑配置文件改回 disable = yessudo apt remove ...

再次强调,请务必将 Telnet 的使用限制在安全的、受信任的环境内,并优先考虑使用更安全的 SSH 协议进行远程管理。

分享:
扫描分享到社交APP
上一篇
下一篇