1. 程式人生 > >[LINUX] 使用yum 安裝、開啟 telnet 服務

[LINUX] 使用yum 安裝、開啟 telnet 服務

文中加入了我自己在使用時遇到的問題以及是如何解決的. 感謝原著作者, 此問題困擾了挺長時間. 

思考:

1. 檢測Linux下telnet服務存不存在。

2. 存在則開啟,不存在則安裝。

步驟:

1. 使用telnet遠端連線目標主機(本例使用Xshell)

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

連線失敗

2. 登入目標主機檢測telnet服務是否正常:telnet localhost

Shell程式碼  收藏程式碼
  1. [[email protected] ~]$ telnet localhost  
  2. -bash: telnet: command not found  

命令不存在,可以理解為未安裝該服務。

3. 下一步並不是立即安裝,而是先檢測下該機器中安裝了哪些telnet相關的軟體。多了要刪除,少了要補缺等。

Shell程式碼  收藏程式碼
  1. 嘗試google:linux telent 服務 等關鍵字。  

通過搜尋發現telnet由:

Shell程式碼  收藏程式碼
  1. telnet-client   :telnet客戶端  
  2. telnet-server :telnet服務端  
  3. xinetd :網路伺服器超級守護程序  

大致可以理解為,大多髮型版本的Linux預設安裝了telnet-client,而telnet-server需要使用者另外安裝。

xinetd是Linux系統的超級守護程序,長期駐存於後臺,並監聽來自網路的請求,從而啟動對應的服務。而telnet正是xinetd管轄的服務之一。                 

4. 查詢是否有telnet相關的rpm安裝包:rpm -qa | grep telnet

Shell程式碼  收藏程式碼
  1. [[email protected] ~]# rpm -qa | grep telnet  
  2. telnet-0.17-47.el6.x86_64  
  3. [[email protected] ~]#   

telnet-0.17-47.el6.x86_64即為預設安裝的客戶端。很明確的發現,系統確實未預設安裝telnet-server。

5. 使用yum安裝telnet-server服務

yum方式是最為便捷的線上包安裝工具。

安裝方式都可以直接搜尋關鍵字,類似於:

Google:yum telnet

Shell程式碼  收藏程式碼
  1. [[email protected] 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. [[email protected] 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. Complete!  
  14. [[email protected] xinetd.d]#  

安裝成功。

可再搜尋遍看是否已經寫入環境中。

Shell程式碼  收藏程式碼
  1. [[email protected] 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 : 也可以

[[email protected] xinetd.d]# yum list|grep telnet
telnet-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. [[email protected] xinetd.d]# cd /etc/xinetd.d  
  2. [[email protected] 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. [[email protected] xinetd.d]# vi telnet  
  6. # default: on  
  7. # description: The telnet server serves telnet sessions; it uses \  
  8. #       unencrypted username/password pairs for authentication.  
  9. service telnet  
  10. {  
  11.         disable = no  
  12.         flags           = REUSE  
  13.         socket_type     = stream  
  14.         wait            = no  
  15.         user            = root  
  16.         server          = /usr/sbin/in.telnetd  
  17.         log_on_failure  += USERID  
  18. }  

備份telnet檔案,再vi開啟,將disable值賦為no。

7. 開啟telnet服務

Shell程式碼  收藏程式碼
  1. [[email protected] 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. [[email protected] 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服務端解決問題。丟東西了,通常的處理方式,就是現在還有哪些東西,還需要安裝哪些東西,最後安裝就好了。