今天在学习Linux中的select服务器时,需要使用到一条远程登录命令telnet,然而在centos虚拟机上使用时,显示“command not found”,百度了之后发现这是因为没有安装Telnet包。
关于命令telnet:
(1)用法:
用法: telnet [参数] [主机]
(2)功能:
功能: telnet命令通常用来远程登录。
原理: Telnet服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Telnet协议的远程登录(远程交互式计算)。
telnet实现的远程登录:
分时系统允许多个用户同时使用一台计算机,为了保证系统的安全和记帐方便,系统要求每个用户有单独的帐号作为登录标识,系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令,这个过程被称为'登远程登陆是指用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。
telnet的简介:
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器。
Telnet是常用的远程控制Web服务器的方法。但是,telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。
telnet命令还可做别的用途,比如确定远程服务的状态,比如确定远程服务器的某个端口是否能访问。
实例:telnet localhost 23(连接本地主机,端口号为23)“-bash:telnet:command not found”解决方式:
一、安装一下telnet包:
1.在root下安装xinetd服务,因为telnet要靠xinetd服务启动
#yum install xinetd
2.安装telnet服务
#yum install telnet-server
安装telnet客户端
#yum install telnet.*
3.查看telnet相关的安装包
#yum list telnet*
二、配置telnet
方法1:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可
方法2:使用chkconfig命令直接开启
#chkconfig telnet on
方法3:直接修改配置文件
#vi /etc/xinetd.d/telnet
只需要将”disable= yes”改成” disable=no”即可
三、激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。
# servicexinetd restart
或者#/etc/rc.d/init.d/xinetd restart
四、防火墙问题
iptables防火墙会阻止telnet,所以需要在iptables允许,用如下命令 :
当你启动telnet服务后,你可以用netstat –tunlp命令来查看telnet服务所使用的端口,可以发现有23。使用下面命令开启这些端口:
#iptables -I INPUT -p tcp --dport 23 -jACCEPT
#iptables -I INPUT -p udp --dport 23 -jACCEPT
#service iptables save //保存
#service iptables restart //重启防火墙
或者直接关闭防火墙
#service iptables stop