linux系统打开telnet端口的方法

本文介绍如何在CentOS系统上启用Telnet服务,包括安装Telnet软件包、配置服务、设置防火墙规则及实现root用户登录的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://mofansheng.blog.51cto.com/8792265/1749980

windows客户端如果通过cmd窗口连接到远程linux服务器,可以使用telnet;
centos系统默认telnet 23端口是关闭的。

服务器本地使用nmap ip地址 -p 23 查看telnet状态是关闭的;
[root@localhost ~]# nmap 192.168.20.3 -p 23
Starting Nmap 5.51 ( http://nmap.org ) at 2016-03-11 09:04 CST
Nmap scan report for 192.168.20.3
Host is up (0.00014s latency).
PORT STATE SERVICE
23/tcp closed telnet

打开telnet端口的步骤如下:
1、服务器安装telnet包(telnet-server包依赖xinetd包)
1

yum install telnet telnet-server -y

2、修改telnet配置文件
1

vi /etc/xinetd.d/telnet

修改disable=yes 改为no
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
保存退出,重启xinted服务
1
2
3
[root@localhost ~]# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]

再次扫描发现状态变为open
[root@localhost ~]# nmap 192.168.20.3 -p 23
Starting Nmap 5.51 ( http://nmap.org ) at 2016-03-11 10:08 CST
Nmap scan report for 192.168.20.3
Host is up (0.00051s latency).
PORT STATE SERVICE
23/tcp open telnet

查看监听的端口23也有了
[root@localhost ~]# netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::23 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN

3、iptables添加规则允许23端口通过,保存规则,并重启iptables服务
1
2
3

iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 23 -j ACCEPT

/etc/init.d/iptables save

/etc/init.d/iptables restart

4、windows本地打开cmd窗口
输入命令:telnet ip地址 连接到远程linux服务器
默认情况下telnet连接后不能使用超级用户,如果要使用超级用户root登录,有2种方法可以实现:
第一种:# mv /etc/securetty /etc/securetty.bak 这样就可以使用root登录,非常不建议这样操作!!!!
第二种:# vi /etc/securetty
添加
pts/0
pts/ 1
pts/2
pts/3
如果登录的用户比较多,可以添加更多的pts/**
这样添加的作用,是允许root从pts/0到pts/3这几个终端登录;
相比网上其他的方法彻底移除认证的方法,此方法没有破坏linux安全验证机制,较为安全!

建议使用普通用户登录,su - root 进行切换,为了安全起见,不直接使用root登录;
如果非要使用root登录,建议使用SSH工具;
spacer.gifwKiom1bieq6xmeirAAGWIpRiqdI580.jpg
1
2
3
4
5
6
7
8
9
10
CentOS release 6.5 (Final)
Kernel 2.6.32-431.el6.i686 on an i686
login: user1
Password:
Last login: Fri Mar 11 11:35:11 from 192.168.20.1
[user1@localhost ~] iduid=500(user1)gid=502(user1)groups=502(user1)context=unconfinedu:unconfinedr:unconfinedt:s0s0:c0.c1023[user1@localhost ] whoami
user1

<think>我们之前讨论的是关于在Linux系统中开启telnet服务的问题。根据用户当前的查询,用户想知道如何在Linux系统中配置并开启telnet服务。同时,用户提供了一个引用,但指出该引用仅供参考,并非用户真正的需求。因此,我们需要忽略该引用的具体内容,专注于用户的需求。在Linux系统中,telnet服务通常由telnet-server软件包提供,并且由xinetd超级服务管理。配置步骤通常包括安装软件包、启用服务、配置访问控制等。由于用户使用的是RedHat或CentOS(根据引用中的路径提示),我们将针对这些系统进行说明。注意:现代系统中,telnet由于安全性问题(明文传输)已不推荐使用,建议使用SSH。如果必须使用,请确保在安全的内网环境中使用。步骤:1.安装telnet-server和xinetd(如果尚未安装):2.启用telnet服务(通过xinetd管理):3.配置防火墙允许telnet端口(默认23):4.启动相关服务:5.设置开机启动(可选):6.测试telnet服务详细步骤:1.安装软件包:使用yum安装:```bashsudoyuminstalltelnet-serverxinetd-y```2.配置xinetd来管理telnet服务:编辑telnet配置文件:`/etc/xinetd.d/telnet`(如果不存在,可以创建)通常安装telnet-server后会提供这个文件,但默认是禁用的。我们需要将`disable`的值改为`no`。示例配置:```servicetelnet{flags=REUSEsocket_type=streamwait=nouser=rootserver=/usr/sbin/in.telnetdlog_on_failure+=USERIDdisable=no#将yes改为no}```3.配置防火墙:如果系统使用firewalld,则开放23端口:```bashsudofirewall-cmd--permanent--add-port=23/tcpsudofirewall-cmd--reload```4.启动服务:xinetd服务是超级服务,管理telnet服务。同时,telnet服务可能需要启用socket(根据引用中的命令,用户使用的是systemctlrestarttelnet.socket,但不同版本可能有差异)。在较新的系统中,我们可以这样做:-启动xinetd服务:```bashsudosystemctlrestartxinetdsudosystemctlenablexinetd#设置开机启动```-或者,对于telnet.socket(如果系统使用socket激活):```bashsudosystemctlrestarttelnet.socketsudosystemctlrestartxinetd```注意:不同版本的telnet-server配置方式可能不同,有些版本使用xinetd管理,有些则使用telnet.socket。但通常通过xinetd管理。5.测试telnet服务:使用telnet客户端从另一台机器连接:```bashtelnet<服务器IP>```或者本地测试:```bashtelnetlocalhost```安全提示:建议在完成测试后禁用telnet服务,或者使用更安全的方式(如SSH)。另外,注意:如果系统使用SELinux,可能需要调整策略或关闭SELinux(不推荐关闭,可以设置相关布尔值):查看相关布尔值:```bashgetsebool-a|greptelnet```如果有需要,可以开启:```bashsetsebool-Ptelnetd_sshdon#示例,具体布尔值可能不同,根据实际情况调整```由于引用中提及了重启telnet.socket和xinetd,所以我们可以按照引用的方式重启服务,但要注意我们配置的是xinetd管理的telnet服务。如果同时存在两种管理方式(socket激活和xinetd),可能会冲突。建议遵循系统默认的管理方式(通常是xinetd)。根据用户上一次的问题(没有对话历史,所以视为新问题),我们提供完整的步骤。因此,我们回答如下:</think> ### 如何在Linux系统中配置并开启telnet服务 以下是基于RedHat/CentOS系统的完整配置流程(其他发行版可参考原理): #### 📦 1. 安装必要软件包 ```bash sudo yum install telnet-server xinetd -y # CentOS 7/8 # 或 sudo dnf install telnet-server xinetd -y # CentOS 9/RHEL 8+ ``` #### ⚙️ 2. 配置服务文件 编辑telnet配置文件(文件路径可能因版本差异): ```bash sudo vi /etc/xinetd.d/telnet ``` 修改为以下内容: ```bash service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no # 关键修改!将yes改为no } ``` #### 🔥 3. 配置防火墙(选择对应方式) **firewalld用户**: ```bash sudo firewall-cmd --permanent --add-port=23/tcp sudo firewall-cmd --reload ``` **iptables用户**: ```bash sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT sudo service iptables save ``` #### 🚀 4. 启动服务 ```bash sudo systemctl restart xinetd # 管理telnet的超级服务 sudo systemctl enable xinetd # 设置开机自启 ``` #### 🧪 5. 验证服务状态 ```bash telnet localhost 23 # 本地测试 # 或从其他设备测试 telnet 服务器IP ``` 出现`Escape character is '^]'`提示表示成功[^1] #### ⚠️ 安全注意事项 1. Telnet传输明文,内网环境外**强烈建议使用SSH** 2. 可添加访问限制(编辑`/etc/xinetd.d/telnet`): ```bash only_from = 192.168.1.0/24 # 仅允许指定网段 no_access = 192.168.1.99 # 禁止特定IP ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值