关于如何使用Linux(centos7)使用telnet服务

我为什么要这么做,我这么做的目的是什么?

我的目的很简单,就是为了实现《Linux高性能服务器编程》这本书中的一些例子。
虽然说telnet命令我网上搜索的时候,很多人说telnet因为采用明文传送报文,安全性不好。而且Linux现在也都不开放telnet服务了。
但是我觉得,弄清楚telnet客户端的使用方式仍是很有必要的。

其实我觉得还有一个更重要的原因吧,就是如果书上的例子能成功,而我不能,我会觉得不舒服,我不甘心!

telnet命令还可做别的用途,比如确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。

步骤一 安装telnet-server,xinetd

1、检测telnet-server的rpm包是否安装

[root@localhost ~]# yum install telnet-server xinetd

在centos7中telnet客户端是默认安装了的,但是telnet-server与xinetd是没有安装的。需要我们去自己安装。

由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd 。
xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。telnet服务就是通过xinetd服务来管理的,所以在安装telnet服务之前需要先安装xinetd服务。

步骤二 修改配置文件

1、 更改配置文件/etc/xinetd.d/telnet

我发现现在的xinetd下载下来,/etc/xinetd.d/这个文件夹里没有telnet这个文件,这是因为Linux现在默认不开放telnet这个服务了,所以telnet这个配置文件就消失了。但是没有关系,我们去创建这个文件。

修改或写入这些配置项
#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行前加#注释掉,或者把yes改为no】
}

2、 修改/etc/securetty文件
为什么要修改这个文件呢?
telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,所以要修改这个文件。

console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
#below is added 从这以后才是需要添加的
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9
pts/10
pts/11

3、修改telnet端口(修改/etc/services文件)


telnet 23/tcp //23改为8902
telnet 23/udp //23改为8902

为什么要修改这个配置项,我猜想是为了防止端口被占用,所以选择了一个不会被使用的端口号来使用。

步骤三,关闭防火墙,重启telnet服务

查看防火墙状态命令(centos)

systemctl status firewalld.service

关闭防火墙命令

systemctl stop firewalld.service

禁止防火墙开机自启动命令

systemctl disable firewalld.service

重启telnet服务

service xinetd restart

做完这一切后,建议重新启动一些Linux(reboot)我们之后再去实验telnet是否可以使用。

后记(在这个过程中,我踩了哪些坑?在这个过程中我收获了什么?)

我记得一切的开始是我想用tcpdump这个抓包命令去抓两台主机之间的以太网帧。
其中需要执行这样一条命令

telnet 192.168.56.103(我的一台虚拟机)

我期望的结果是:

telnet 192.168.56.103
Trying 192.168.56.103…
Connected to ip-192-168-56-103
Escape character is ‘^]’

实际的结果是:

telnet 192.168.56.103
Trying 192.168.56.103…
telnet: connect to address 192.168.56.103: Connection refused
telnet: Unable to connect to remote host

之后便是漫长的查资料的过程。
内容太长实在是不想说了。

我收获了什么呢?
我认为非常重要的一点是,我增强了我查找资料的能力,和对Linux命令行的熟悉程度吧。
还有就是对Linux中的各种配置文件是用来干嘛的了解的更清晰了。

以后继续加油吧。

你可能感兴趣的:(Linux,linux,服务器,运维)