[LINUX] 使用yum 安装、开启 telnet 服务

来源:互联网 发布:松下焊接机器人编程 编辑:程序博客网 时间:2024/05/27 16:42

本文出自 http://futeng.iteye.com/blog/2039490?utm_source=tuicool&utm_medium=referral, 经过我的实验, 比较靠谱. 

文中加入了我自己在使用时遇到的问题以及是如何解决的. 感谢原著作者, 此问题困扰了挺长时间. 

思考:

1. 检测Linux下telnet服务存不存在。

2. 存在则打开,不存在则安装。

步骤:

1. 使用telnet远程连接目标主机(本例使用Xshell)

Shell代码  收藏代码
  1. Xshell:\> telnet 192.168.80.218  
  2.   
  3. Connecting to 192.168.80.218:23...  
  4. Could not connect to '192.168.80.218' (port 23): Connection failed.  
  5.   
  6. Type `help' to learn how to use Xshell prompt.  

连接失败

 

2. 登录目标主机检测telnet服务是否正常:telnet localhost

Shell代码  收藏代码
  1. [oracle@localhost ~]$ telnet localhost  
  2. -bash: telnet: command not found  

 

命令不存在,可以理解为未安装该服务。

3. 下一步并不是立即安装,而是先检测下该机器中安装了哪些telnet相关的软件。多了要删除,少了要补缺等。

Shell代码  收藏代码
  1. 尝试google:linux telent 服务 等关键字。  

 

通过搜索发现telnet由:

Shell代码  收藏代码
  1. telnet-client   :telnet客户端  
  2.   
  3. telnet-server :telnet服务端  
  4.   
  5. xinetd :网络服务器超级守护进程  

 

大致可以理解为,大多发型版本的Linux默认安装了telnet-client,而telnet-server需要用户另外安装。

xinetd是Linux系统的超级守护进程,长期驻存于后台,并监听来自网络的请求,从而启动对应的服务。而telnet正是xinetd管辖的服务之一。                 

4. 查询是否有telnet相关的rpm安装包:rpm -qa | grep telnet

Shell代码  收藏代码
  1. [root@localhost ~]# rpm -qa | grep telnet  
  2. telnet-0.17-47.el6.x86_64  
  3. [root@localhost ~]#   

 

telnet-0.17-47.el6.x86_64即为默认安装的客户端。很明确的发现,系统确实未默认安装telnet-server。

5. 使用yum安装telnet-server服务

yum方式是最为便捷的在线包安装工具。

安装方式都可以直接搜索关键字,类似于:

Google:yum telnet

 

Shell代码  收藏代码
  1. [root@crxjtest xinetd.d]# yum list |grep telnet  
  2. ...  
  3. Trying other mirror.  
  4. telnet.x86_64                          1:0.17-47.el6                 @anaconda-RedHatEnterpriseLinux-201111171049.x86_64/6.2  
  5. telnet-server.x86_64                   1:0.17-47.el6                 local   
 

发现有telnet-server.x86_64这个源

Shell代码  收藏代码
  1. [root@crxjtest xinetd.d]# yum install telnet-server.x86_64 -y 
  2. ...  
  3. Trying other mirror.  
  4. Setting up Install Process  
  5. Resolving Dependencies  
  6. --> Running transaction check  
  7. ---> Package telnet-server.x86_64 1:0.17-47.el6 will be installed  
  8. --> Processing Dependency: xinetd for package: 1:telnet-server-0.17-47.el6.x86_64  
  9. --> Running transaction check  
  10. ---> Package xinetd.x86_64 2:2.3.14-33.el6 will be installed  
  11. --> Finished Dependency Resolution  
  12.   
  13.   
  14. ...                            
  15. Complete!  
  16. [root@crxjtest xinetd.d]#  
 

安装成功。

可再搜索遍看是否已经写入环境中。

Shell代码  收藏代码
  1. [root@crxjtest xinetd.d]# rpm -qa | grep telnet  
  2. telnet-0.17-47.el6.x86_64  
  3. telnet-server-0.17-47.el6.x86_64  
 

发现telnet-server已经安装成功。

ps : 也可以

[root@localhost xinetd.d]# yum list|grep telnettelnet-server.x86_64                       1:0.17-60.el7               @base    telnet.x86_64                              1:0.17-60.el7               base 
@base的代表已经安装了的.

6. [更改配置文件,将telnet服务设置为默认启动,非必须]

查询xinetd.d所管辖的所有配置文件所在目录。

Shell代码  收藏代码
  1. [root@crxjtest xinetd.d]# cd /etc/xinetd.d  
  2. [root@crxjtest xinetd.d]# ls  
  3. chargen-dgram   cvs            daytime-stream  discard-stream  echo-stream  tcpmux-server  time-dgram  
  4. chargen-stream  daytime-dgram  discard-dgram   echo-dgram      rsync        telnet         time-stream  
  5. [root@crxjtest xinetd.d]# vi telnet  
  6.   
  7. # default: on  
  8. # description: The telnet server serves telnet sessions; it uses \  
  9. #       unencrypted username/password pairs for authentication.  
  10. service telnet  
  11. {  
  12.         disable = no  
  13.         flags           = REUSE  
  14.         socket_type     = stream  
  15.         wait            = no  
  16.         user            = root  
  17.         server          = /usr/sbin/in.telnetd  
  18.         log_on_failure  += USERID  
  19. }  
 

备份telnet文件,再vi打开,将disable值赋为no。

7. 开启telnet服务

Shell代码  收藏代码
  1. [root@crxjtest xinetd.d]# service xinetd restart  
  2. Stopping xinetd:                                           [FAILED]  
  3. Starting xinetd:                                           [  OK  ]  
 

可直接start,这样就不会有关闭服务时候报的那个错,毕竟那个时候服务还不存在。

ps: 我在centos 虚拟机上安装时没有xinetd 服务, 若不安装上它第六步就没法搞定.所以对比telnet服务的安装方式使用

yum list|grep xinetd 检查有没有相关的软件可以安装:


然后执行yum install xinetd.x86_64将xinetd 服务安装到系统中. 随后返回去操作第六步之后就可以telnet了!


8. 测试telnet服务

Shell代码  收藏代码
  1. [root@crxjtest xinetd.d]# telnet localhost  
  2. Trying ::1...  
  3. Connected to localhost.  
  4. Escape character is '^]'.  
  5. Red Hat Enterprise Linux Server release 6.2 (Santiago)  
  6. Kernel 2.6.32-220.el6.x86_64 on an x86_64  
  7. login:   
 

测试正常。

9. 总结

要明确出现的是什么问题,要有清晰的解决思路,再跟着自己的思路去解决。

本文描述的场景是缺失telnet服务,那能否举一反三到例如能思考和处理ftp服务缺失的解决呢。

可能的步骤如下:

1. 尝试使用多种客户端去连接ftp服务。多次尝试能避免出现一些低级错误,例如是本机客户端出错,用户名密码错误,连接IP端口不对等。尝试的最后是出一个结果,即是否是ftp服务端出现了问题。

2. 倘若确定是ftp服务端出的问题,则需要登录该服务器具体处理。在登录之前,如果不了解ftp服务的构成,还需要搜索等方式去了解。

3. 最后就是如何在ftp服务端解决问题。丢东西了,通常的处理方式,就是现在还有哪些东西,还需要安装哪些东西,最后安装就好了。


0 0
原创粉丝点击