思考:
1. 检测Linux下telnet服务存不存在。
2. 存在则打开,不存在则安装。
步骤:
1. 使用telnet远程连接目标主机(本例使用Xshell)
Xshell:\> telnet 192.168.80.218 Connecting to 192.168.80.218:23... Could not connect to '192.168.80.218' (port 23): Connection failed. Type `help' to learn how to use Xshell prompt.
连接失败
2. 登录目标主机检测telnet服务是否正常:telnet localhost
[oracle@localhost ~]$ telnet localhost -bash: telnet: command not found
命令不存在,可以理解为未安装该服务。
3. 下一步并不是立即安装,而是先检测下该机器中安装了哪些telnet相关的软件。多了要删除,少了要补缺等。
尝试google:linux telent 服务 等关键字。
通过搜索发现telnet由:
telnet-client :telnet客户端 telnet-server :telnet服务端 xinetd :网络服务器超级守护进程
大致可以理解为,大多发型版本的Linux默认安装了telnet-client,而telnet-server需要用户另外安装。
xinetd是Linux系统的超级守护进程,长期驻存于后台,并监听来自网络的请求,从而启动对应的服务。而telnet正是xinetd管辖的服务之一。
4. 查询是否有telnet相关的rpm安装包:rpm -qa | grep telnet
[root@localhost ~]# rpm -qa | grep telnet telnet-0.17-47.el6.x86_64 [root@localhost ~]#
telnet-0.17-47.el6.x86_64即为默认安装的客户端。很明确的发现,系统确实未默认安装telnet-server。
5. 使用yum安装telnet-server服务
yum方式是最为便捷的在线包安装工具。
安装方式都可以直接搜索关键字,类似于:
Google:yum telnet
[root@crxjtest xinetd.d]# yum list |grep telnet ... Trying other mirror. telnet.x86_64 1:0.17-47.el6 @anaconda-RedHatEnterpriseLinux-201111171049.x86_64/6.2 telnet-server.x86_64 1:0.17-47.el6 local
发现有telnet-server.x86_64这个源
[root@crxjtest xinetd.d]# yum install telnet-server.x86_64 ... Trying other mirror. Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package telnet-server.x86_64 1:0.17-47.el6 will be installed --> Processing Dependency: xinetd for package: 1:telnet-server-0.17-47.el6.x86_64 --> Running transaction check ---> Package xinetd.x86_64 2:2.3.14-33.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================== Package Arch Version Repository Size =============================================================================================================== Installing: telnet-server x86_64 1:0.17-47.el6 local 37 k Installing for dependencies: xinetd x86_64 2:2.3.14-33.el6 local 120 k Transaction Summary =============================================================================================================== Install 2 Package(s) Total download size: 157 k Installed size: 312 k Is this ok [y/N]: y Downloading Packages: Setting up and reading Presto delta metadata Processing delta metadata Package(s) data still to download: 157 k --------------------------------------------------------------------------------------------------------------- Total 1.2 MB/s | 157 kB 00:00 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : 2:xinetd-2.3.14-33.el6.x86_64 1/2 Installing : 1:telnet-server-0.17-47.el6.x86_64 2/2 Installed products updated. Installed: telnet-server.x86_64 1:0.17-47.el6 Dependency Installed: xinetd.x86_64 2:2.3.14-33.el6 Complete! [root@crxjtest xinetd.d]#
安装成功。
可再搜索遍看是否已经写入环境中。
[root@crxjtest xinetd.d]# rpm -qa | grep telnet telnet-0.17-47.el6.x86_64 telnet-server-0.17-47.el6.x86_64
发现telnet-server已经安装成功。
6. [更改配置文件,将telnet服务设置为默认启动,非必须]
查询xinetd.d所管辖的所有配置文件所在目录。
[root@crxjtest xinetd.d]# cd /etc/xinetd.d [root@crxjtest xinetd.d]# ls chargen-dgram cvs daytime-stream discard-stream echo-stream tcpmux-server time-dgram chargen-stream daytime-dgram discard-dgram echo-dgram rsync telnet time-stream [root@crxjtest xinetd.d]# vi telnet # default: on # description: The telnet server serves telnet sessions; it uses \ # unencrypted username/password pairs for authentication. service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID }
备份telnet文件,再vi打开,将disable值赋为no。
7. 开启telnet服务
[root@crxjtest xinetd.d]# service xinetd restart Stopping xinetd: [FAILED] Starting xinetd: [ OK ]
可直接start,这样就不会有关闭服务时候报的那个错,毕竟那个时候服务还不存在。
8. 测试telnet服务
[root@crxjtest xinetd.d]# telnet localhost Trying ::1... Connected to localhost. Escape character is '^]'. Red Hat Enterprise Linux Server release 6.2 (Santiago) Kernel 2.6.32-220.el6.x86_64 on an x86_64 login:
测试正常。
9. 总结
要明确出现的是什么问题,要有清晰的解决思路,再跟着自己的思路去解决。
本文描述的场景是缺失telnet服务,那能否举一反三到例如能思考和处理ftp服务缺失的解决呢。
可能的步骤如下:
1. 尝试使用多种客户端去连接ftp服务。多次尝试能避免出现一些低级错误,例如是本机客户端出错,用户名密码错误,连接IP端口不对等。尝试的最后是出一个结果,即是否是ftp服务端出现了问题。
2. 倘若确定是ftp服务端出的问题,则需要登录该服务器具体处理。在登录之前,如果不了解ftp服务的构成,还需要搜索等方式去了解。
3. 最后就是如何在ftp服务端解决问题。丢东西了,通常的处理方式,就是现在还有哪些东西,还需要安装哪些东西,最后安装就好了。
10. 扩展阅读
Xinetd服务:http://en.wikipedia.org/wiki/Xinetd
linux开启telnet服务(总结):http://blog.csdn.net/rainbolide/article/details/651853
Windows下开启telnet服务:http://www.wumingx.cn/post/291.html