Centos中安装telnet服务

Posted by FanHao on 2020-06-02

说明

系统为Centos7.7 64bit,非mini版本。默认安装有rpm和yum工具。

安装telnet

首先可以检查系统是否已经安装telnet

1
2
[root@localhost ~]# rpm -qa | grep telnet
[root@localhost ~]#

内容回显为空,表明当前没有安装telnet相关服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~]# yum search telnet
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.163.com
======================================= N/S matched: telnet =========================
perl-Net-Telnet.noarch : Net-Telnet Perl module
telnet.x86_64 : The client program for the Telnet remote login protocol
telnet-server.x86_64 : The server program for the Telnet remote login protocol
tn5250.i686 : 5250 Telnet protocol and Terminal
tn5250.x86_64 : 5250 Telnet protocol and Terminal

Name and summary matches only, use "search all" for everything.

通过yum包管理工具,安装telnet客户端和telnet服务

1
2
[root@localhost ~]# yum -y install telnet
[root@localhost ~]# yum -y install telnet-server

安装完成后,可以查询包是否安装成功

1
2
3
[root@localhost ~]# rpm  -qa | grep telnet
telnet-0.17-65.el7_8.x86_64
telnet-server-0.17-65.el7_8.x86_64

安装xinetd

xinetd主要用来管理telnet服务进程。在Linux系统中,进程分为三类。

  • 独立守护进程:

大多数服务的进程都是独立守护进程,他们一启动都会监听在某个套接字上等待请求报文的到来。如: httpd(tcp/80)https(tcp/443)mysql(tcp/3306)php(tcp/9000)ssh(tcp/22)

独立守护进程一般都可以用chkconfig –list +服务名 显示其运行级别

独立守护进程都可以用 service 服务名 start|stop|restart|status

  • 非独立守护进程

非独立守护进程都没有运行级别,所有的非独立守护进程都由xinetd进程进行控制,xinetd一启动,这些非独立进程才会启动;

  • 超级守护进程

Xinetd作为一个超级守护进程它可以代理那些不常用的非独立守护进程监听在相应的端口,如Telnet(tcp/23) Swap(tcp/901)。swap是Samba的图形配置软件;

这些服务平时很少用,为了节省资源,就由xinetd代理监听在相应端口如telnet tcp/23,一旦有请求到来,会先到达xinetd,xinetd再根据请求报文的端口号是23,临时启telnet服务进程,请求响应完毕又会继续关闭进程,继续让xinetd监听。所有非独立守护进程的配置文件在/etc/xinetd.d/目录下。

首先检查系统是否安装xinetd

1
2
[root@localhost ~]# rpm -qa | grep xinetd
[root@localhost ~]#

通过yum进行安装

1
[root@localhost ~]# yum install xinetd

启用xinetd服务

1
[root@localhost ~]# systemctl restart xinetd.service

配置

配置telnet服务,进入xinetd.d目录下配置telnet服务配置。如果没有telnet文件则手动创建

1
2
[root@localhost ~]# cd /etc/xinetd.d
[root@localhost xinetd.d]# vim telnet

在telnet文件中添加如下配置

1
2
3
4
5
6
7
8
9
10
11
[root@localhost xinetd.d] cat telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}

启用xinet服务

1
[root@localhost xinetd.d] systemctl restart xinetd.service

查询xinet服务是否监听23端口

1
2
[root@localhost xinetd.d] netstat -anltp | grep xinet
tcp6 0 0 :::23 :::* LISTEN 4754/xinetd

此时还无法通过telnet登录,还需设置防火墙。查看防火墙添加的服务。防火墙允许的服务中,并不包含telnet。

1
2
[root@localhost ~]# firewall-cmd --list-services
dhcpv6-client ssh

将telnet添加到防火墙服务中,此时即可通过telnet远程登录centos。

1
[root@localhost ~]# firewall-cmd --add-service=telnet

设置xinetd服务和telnet服务开机自启动

1
2
[root@localhost ~]# systemctl enable xinetd.service
[root@localhost ~]# systemctl enable telnet.socket