一. telnet的定义
telnet是进行远程登录的标准协议,它是当今Internet上使用最为广泛的协议之一。它把用户正在使用的终端或计算机变成网络某 一远程主机的仿真终端,使得用户可以方便地使用远程主机上的软、硬件资源。
Telnet以客户端/服务端的模式运行,基于TCP协议,服务器的端口号是23,telnet是由xinetd守护的。
二. telnet远程登录服务的过程
1. 建立连接
上面我们说了telnet是基于tcp协议,所以建立的链接过程实际上是建立一个tcp连接的过程
2.输入口令
如果建立连接时,路由器可以抵达目的地,那么我们就会在本地终端输入用户名和密码,之后通过传输介质传送到远程主机
3. 认证并返回结果
远程主机进行认证,无论认证通过与否,都会将回复数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
4. 撤销连接
本地终端对远程主机进行撤消连接,这个过程其实是撤销一个TCP连接
三. 缺点
telnet协议以明文的方式传送所有数据(包括账号和口令),数据在传输过程中很容易被入侵者窃听会篡改,所以建议在对安全性不高的环境下使用。
安装
1. 安装telnet-server
[root@gaosh-63 ~]
由于telnet服务也是由xinetd守护的,所以安装完telnet-server后,需要重新启动xinetd守护进程
启动xinetd
注意: 如果你的服务器没有安装xinetd,可能会出现如下图的报错:

这时候我们需要重新安装xinetd
2. 安装xinetd
[root@gaosh-63 ~]
[root@gaosh-63 ~]
3. 启动服务
1) 修改配置文件
安装完后默认是不开启的,需要修改配置文件开启
配置文件: /etc/xinetd.d/telnet (如果没有需要手工创建)
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}
把下图中的disable,默认为yes ,该为no

2) 参数的意义:
disable 参数意义: 是否启用服务(no为启用、yes为禁用)
only_from 参数意义:允许哪些主机访问
no_access 参数意义:拒绝哪些主机访问
access_times 参数意义:服务开放时间
3) 启动telnet和依赖的xinetd
[root@gaosh-63 ~]
[root@gaosh-63 ~]
root 48369 1 0 17:48 ? 00:00:00 /usr/sbin/xinetd -stayalive -pidfile /var/run/xinetd.pid
root 48379 47861 0 17:48 pts/1 00:00:00 grep --color=auto xinetd
```bash
[root@gaosh-63 ~]
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
xinetd 48369 root 5u IPv6 511641 0t0 TCP *:telnet (LISTEN)
4. 测试telnet
1) 在windows中打开telnet

2)在打开命令窗口测试
在windows下打开cmd命令行窗口,输入telnet 192.168.1.64 回车,然后输入用户名密码。

如果你的是普通用户的话,可以选择使用以管理员身份进行,来打开命令窗口


输入用户名密码,登陆成功

注意: telnet 默认不允许使用root链接。 在Linux当中有一个文件,“/etc/securetty”。 这个文件允许你规定“root”用户可以从那个TTY设备登录。
总结
telnet虽然现在不怎么用了,大多数时候都在用ssh, 但还是要了解一下。毕竟有时候只测试是否连通还是蛮不错的工具.
来自 https://blog.csdn.net/qq_42499737/article/details/118758476