TELNET协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。
Telnet远程登录服务分为以下4个过程:
1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包;
3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接
1、centos下查看是否安装Telnet
[root@ localhost ~]# rpm -qa | grep telnet
telnet-0.17-48.el6.x86_64
telnet-server-0.17-48.el6.x86_64
# telnet 是挂在 xinetd 底下的,所以同时查看是否安装了xinetd服务
[root@ localhost ~]# rpm -qa | grep xinetd
xinetd-2.3.14-39.el6_4.x86_64
# 两者都没有的安装的话,yum安装以下服务
[root@ localhost ~]# yum install xinetd telnet telnet-server -y
2、配置telnet
# 设置开机启动
[root@ localhost ~]# chkconfig telnet on
# 修改配置文件
[root@ localhost ~]# vi /etc/xinetd.d/telnet
# 将”disable= yes”改成” disable=no”
3、使用Telnet命令
# 格式: telnet ip prot
[root@ localhost ~]# telnet 192.168.127.130 6379
4、Telnet命令功能描述
close 关闭当前连接
logout 强制退出远程用户并关闭连接
display 显示当前操作的参数
mode 试图进入命令行方式或字符方式
open 连接到某一站点
quit 退出
set 设置当前操作的参数
unset 复位当前操作参数
status 打印状态信息
toggle 对操作参数进行开关转换
slc 改变特殊字符的状态
auth 打开/关闭确认功能z挂起
telnetsend 发送特殊字符
telnetenviron 更改环境变量?显示帮助信息
选项
-8:允许使用8位字符资料,包括输入与输出;
-a:尝试自动登入远端系统;
-b<主机别名>:使用别名指定远端主机名称;
-c:不读取用户专属目录里的.telnetrc文件;
-d:启动排错模式;
-e<脱离字符>:设置脱离字符;
-E:滤除脱离字符;
-f:此参数的效果和指定"-F"参数相同;
-F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机;
-k<域名>:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名;
-K:不自动登入远端主机;
-l<用户名称>:指定要登入远端主机的用户名称;
-L:允许输出8位字符资料;
-n<记录文件>:指定文件记录相关信息;
-r:使用类似rlogin指令的用户界面;
-S<服务类型>:设置telnet连线所需的ip TOS信息;
-x:假设主机有支持数据加密的功能,就使用它;
-X<认证形态>:关闭指定的认证形态。
5、测试
# 我们先来查看TCP的23端口是否开启正常
[root@localhost ~]#netstat -tnl |grep 23
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN
# 如果上面的一行存在就说明服务已经运行了。如果netstat命令没有返回内容,我们就只好继续进行更深入的配置了。