[LINUX] 使用yum 安裝、開啟 telnet 服務
文中加入了我自己在使用時遇到的問題以及是如何解決的. 感謝原著作者, 此問題困擾了挺長時間.
思考:
1. 檢測Linux下telnet服務存不存在。
2. 存在則開啟,不存在則安裝。
步驟:
1. 使用telnet遠端連線目標主機(本例使用Xshell)
Shell程式碼- 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
Shell程式碼- [[email protected] ~]$ telnet localhost
- -bash: telnet: command not found
命令不存在,可以理解為未安裝該服務。
3. 下一步並不是立即安裝,而是先檢測下該機器中安裝了哪些telnet相關的軟體。多了要刪除,少了要補缺等。
Shell程式碼- 嘗試google:linux telent 服務 等關鍵字。
通過搜尋發現telnet由:
Shell程式碼- telnet-client :telnet客戶端
- telnet-server :telnet服務端
- xinetd :網路伺服器超級守護程序
大致可以理解為,大多髮型版本的Linux預設安裝了telnet-client,而telnet-server需要使用者另外安裝。
xinetd是Linux系統的超級守護程序,長期駐存於後臺,並監聽來自網路的請求,從而啟動對應的服務。而telnet正是xinetd管轄的服務之一。
4. 查詢是否有telnet相關的rpm安裝包:rpm -qa | grep telnet
Shell程式碼- [[email protected] ~]# rpm -qa | grep telnet
- telnet-0.17-47.el6.x86_64
- [[email protected] ~]#
telnet-0.17-47.el6.x86_64即為預設安裝的客戶端。很明確的發現,系統確實未預設安裝telnet-server。
5. 使用yum安裝telnet-server服務
Shell程式碼yum方式是最為便捷的線上包安裝工具。
安裝方式都可以直接搜尋關鍵字,類似於:
Google:yum telnet
- [[email protected] 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這個源
Shell程式碼- [[email protected] xinetd.d]# yum install telnet-server.x86_64 -y
- ...
- 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
- ...
- Complete!
- [[email protected] xinetd.d]#
安裝成功。
可再搜尋遍看是否已經寫入環境中。
Shell程式碼- [[email protected] xinetd.d]# rpm -qa | grep telnet
- telnet-0.17-47.el6.x86_64
- 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程式碼- [[email protected] xinetd.d]# cd /etc/xinetd.d
- [[email protected] 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
- [[email protected] 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服務
Shell程式碼- [[email protected] xinetd.d]# service xinetd restart
- Stopping xinetd: [FAILED]
- Starting xinetd: [ OK ]
可直接start,這樣就不會有關閉服務時候報的那個錯,畢竟那個時候服務還不存在。
ps: 我在centos 虛擬機器上安裝時沒有xinetd
服務, 若不安裝上它第六步就沒法搞定.所以對比telnet服務的安裝方式使用
yum list|grep xinetd 檢查有沒有相關的軟體可以安裝:
然後執行yum install xinetd.x86_64將xinetd 服務安裝到系統中. 隨後返回去操作第六步之後就可以telnet了!
8. 測試telnet服務
Shell程式碼- [[email protected] 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服務端解決問題。丟東西了,通常的處理方式,就是現在還有哪些東西,還需要安裝哪些東西,最後安裝就好了。