Linux系统如何启用Telnet服务及配置步骤?

在Linux系统中,Telnet是一种基于TCP/IP的协议,用于远程登录和管理设备,通过命令行界面实现交互式操作,尽管因其明文传输特性存在安全隐患,但在内网调试、兼容旧设备等场景中仍有应用,本文将详细说明Linux系统启用Telnet服务的完整流程,涵盖安装、配置、防火墙设置及测试方法,帮助用户快速搭建环境。

linux如何启用telnet

安装Telnet服务

不同Linux发行版的包管理器不同,需根据系统选择对应的安装命令,以下是主流发行版的安装步骤:

CentOS/RHEL系列

使用yum(CentOS 7及以下)或dnf(CentOS 8+)安装telnet-server包,这是提供Telnet服务的核心组件。

# CentOS 7及以下
yum install -y telnet-server
# CentOS 8+
dnf install -y telnet-server

Ubuntu/Debian系列

使用apt安装telnetd包,该包包含Telnet服务器和客户端工具。

# 更新软件源
apt update
# 安装telnetd
apt install -y telnetd

安装命令对照表

发行版系列 包管理器 安装命令
CentOS 7- yum yum install -y telnet-server
CentOS 8+ dnf dnf install -y telnet-server
Ubuntu/Debian apt apt update && apt install -y telnetd

配置Telnet服务

安装完成后,需根据系统版本调整服务配置,确保Telnet能正常启动并接受连接。

CentOS/RHEL系列(基于xinetd或systemd)

  • CentOS 6及以下:依赖xinetd超级服务器,需修改配置文件/etc/xinetd.d/telnet,将disable = yes改为disable = no,保存后重启xinetd服务:
    systemctl restart xinetd
  • CentOS 7及以上:使用systemd管理服务,直接启动并启用telnet.socket(监听23端口):
    systemctl enable --now telnet.socket

Ubuntu/Debian系列

默认安装后telnetd服务可能未自动启动,需手动启用:

systemctl enable --now openbsd-inetd  # Ubuntu/Debian使用openbsd-inetd管理Telnet

配置登录用户(可选)

出于安全考虑,默认可能禁止root用户通过Telnet登录,如需允许,可编辑/etc/securetty文件,添加telnet行(或直接添加root用户名,具体取决于系统版本):

linux如何启用telnet

echo "telnet" >> /etc/securetty  # 允许root通过Telnet登录(不推荐生产环境使用)

配置防火墙

Telnet默认使用23端口,需开放该端口并允许TCP流量,否则连接会被防火墙拦截。

CentOS 7+(firewalld)

firewall-cmd --permanent --add-port=23/tcp  # 永久开放23端口
firewall-cmd --reload                      # 重新加载防火墙规则

CentOS 6(iptables)

iptables -A INPUT -p tcp --dport 23 -j ACCEPT  # 允许23端口TCP流量
service iptables save                          # 保存规则

Ubuntu/Debian(ufw)

ufw allow 23/tcp  # 开放23端口
ufw reload        # 重启防火墙

防火墙配置对照表

发行版系列 防火墙工具 开放23端口命令
CentOS 7+ firewalld firewall-cmd –permanent –add-port=23/tcp && firewall-cmd –reload
CentOS 6 iptables iptables -A INPUT -p tcp –dport 23 -j ACCEPT && service iptables save
Ubuntu/Debian ufw ufw allow 23/tcp && ufw reload

测试Telnet连接

配置完成后,可通过本地或远程设备测试连接是否正常。

本地测试

在服务器终端执行以下命令,测试本地Telnet服务:

telnet localhost 23

若成功,会显示Connected to localhost,并进入登录界面,输入用户名和密码即可登录。

远程测试

在其他设备上执行以下命令(替换服务器IP为实际IP):

telnet 服务器IP 23

若连接成功,说明Telnet服务已正常启用;若提示“Connection refused”,需检查服务状态、防火墙配置及23端口是否开放。

linux如何启用telnet

安全提示

Telnet协议传输所有数据(包括密码)均为明文,极易被窃听,强烈建议生产环境使用SSH(OpenSSH)替代,如必须使用Telnet,需注意:

  • 仅在内网可信环境中使用,避免暴露在公网;
  • 限制登录用户,避免使用root账户;
  • 定期检查日志(/var/log/secure/var/log/auth.log),监控异常登录行为。

相关问答FAQs

Q1:Telnet连接时提示“Connection refused”,如何排查?
A:可能原因及解决方案:

  1. 服务未启动:检查服务状态(systemctl status telnet.socketsystemctl status xinetd),未启动则手动启动;
  2. 防火墙拦截:确认23端口已开放(firewall-cmd --list-portsiptables -L -n | grep 23),未开放则按本文第三步配置;
  3. 端口未监听:使用netstat -tuln | grep 23检查23端口是否处于LISTEN状态,若未监听,需重新安装或重启Telnet服务。

Q2:Telnet和SSH有什么区别?为什么推荐使用SSH?
A:主要区别如下:
| 特性 | Telnet | SSH(Secure Shell) |
|————–|———————————|———————————–|
| 传输安全性 | 明文传输,密码易被窃听 | 加密传输(RSA/AES),数据安全 |
| 默认端口 | 23 | 22 |
| 功能支持 | 仅简单远程登录 | 支持端口转发、隧道、密钥登录等 |
| 推荐场景 | 内网临时调试、旧设备兼容 | 所有生产环境、公网访问 |

SSH通过加密算法保护数据安全,且功能更丰富,是远程管理的首选协议,Telnet仅建议在无法使用SSH的特定场景下临时使用。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23724.html

(0)
酷番叔酷番叔
上一篇 2025年9月16日 03:50
下一篇 2025年9月16日 04:18

相关推荐

  • linux如何下载vim

    Linux中,可使用包管理器下载vim。

    2025年8月14日
    3700
  • Linux线程唤醒如何优化多线程性能?

    线程唤醒的本质当线程因等待资源(如锁、I/O操作或条件变量)而进入休眠状态时,操作系统会将其移出运行队列,唤醒则是通过特定事件(如资源就绪)重新激活线程,将其加入就绪队列等待CPU调度,这一过程由内核调度器管理,确保线程状态从TASK_INTERRUPTIBLE(可中断睡眠)或TASK_UNINTERRUPTI……

    2025年7月29日
    4900
  • linux如何umount

    Linux中,可以使用umount命令卸载文件系统,umount /dev/

    2025年8月17日
    2900
  • Linux内核为何如此重要?

    Linux内核是操作系统的核心组件,充当硬件与软件之间的抽象层,它管理硬件资源(CPU、内存、设备),提供进程调度、内存管理、文件系统和网络协议等基础服务,协调所有应用程序对硬件的安全访问,确保系统稳定高效运行。

    2025年7月1日
    6900
  • 如何发现内存泄露linux

    在Linux系统中,内存泄露是指程序在运行过程中动态分配的内存未被正确释放,随着时间推移导致可用内存逐渐减少,最终可能引发系统性能下降、服务响应缓慢甚至触发OOM(Out of Memory) Killer机制终止关键进程,及时发现内存泄露对系统稳定性至关重要,以下从监控工具、分析方法到定位步骤详细介绍如何在L……

    2025年9月9日
    2700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信