2024-12-03
一、Telnet是什么?
        Telnet是一种应用层协议,使用于互联网及局域网中,使用虚拟终端的形式,提供双向、以文字字符串为主的命令行接口交互功能。属于TCP/IP协议族的其中之一,是互联网远程登录服务的标准协议和主要方式,常用于服务器的远程控制,可供用户在本地主机执行远程主机上的工作。


通过 telnet 可以快速测试某个远程服务器的某个端口是否开放。它是最常用的端口测试工具之一。排查网络故障中我们就经常可以使用 telnet 来调试网络连接问题,查看特定端口是否能成功连接,以及应用程序是否在监听指定端口。例如测试数据库端口是否开放


使用Telnet 命令连接两台服务器
[root@ceshi ~]# telnet 192.168.50.165 23


看下目标主机的23端口
[root@localhost ~]# ss -tuln | grep 23


并没有运行在23端口的服务,Telnet命令连接当然会失败,那我们的两台主机不都已经默认安装了Telnet命令了吗,也能正常使用Telnet命令互相检测对方的端口服务,此时我们一定要搞清楚在使用Telnet服务进行远程登录时,有个概念一定要清楚就是Telnet 命令有两个独立的功能:客户端功能 和 服务器功能。


================================================
· Telnet 客户端:
客户端是用于向其他主机发起 TCP 连接请求的工具。也就是我们现在正在使用的Telnet命令,我们可以使用 Telnet 客户端来测试某个远程主机是否在指定的端口上提供服务。并且Telnet 客户端 不需要本地主机运行 Telnet 服务,也不依赖 Telnet 协议进行通信,它只需要发起 TCP 连接请求,并能够与指定端口的应用程序通信。也就是为什么我们直接在命令行中输入Telnet命令及其参数就可以检测目标服务器的端口是否正常。


· Telnet 服务器:
Telnet 服务器则是一种具体的服务,它在本地主机上监听特定端口(通常是 23 端口),并允许远程用户通过 Telnet 客户端连接并进行远程登录。此时此刻,如果我们想通过 Telnet 连接到你的机器,你需要安装并启用 Telnet 服务器。


====================================
安装 Telnet 服务器
Debian/Ubuntu 系列:
apt update
apt install telnetd


CentOS/RHEL 系列:
yum install telnet telnet-server


====================================
启动Telnet服务
[root@localhost ~]# systemctl start telnet.socket 


接下来检查下服务是否正常启动:
[root@localhost ~]# systemctl status telnet.socket 


====================================
Telnet远程连接
此时我们再到之前的Telnet客户端的服务器上使用Telnet命令远程连接目标主机:


[root@ceshi ~]# telnet 192.168.50.165 23