新聞中心
Telnet,是系統(tǒng)管理員登錄遠程服務器的一種協議和工具。然而,由于所有的通信都沒有加密,包括密碼,都是明文發(fā)送的。Telnet 在 SSH 被開發(fā)出來之后就基本棄用了。

韶山ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
登錄遠程服務器,你可能不會也從未考慮過它。但這并不意味著 telnet 命令在調試遠程連接問題時不是一個實用的工具。
本教程中,我們將探索使用 telnet 解決所有常見問題:“我怎么又連不上啦?”
這種討厭的問題通常會在安裝了像 Web服務器、郵件服務器、ssh 服務器、Samba 服務器等諸如此類的事之后遇到,用戶無法連接服務器。
telnet 不會解決問題但可以很快縮小問題的范圍。
telnet 用來調試網絡問題的簡單命令和語法:
telnet
因為 telnet 最初通過端口建立連接不會發(fā)送任何數據,適用于任何協議,包括加密協議。
連接問題服務器有四個可能會遇到的主要問題。我們會研究這四個問題,研究它們意味著什么以及如何解決。
本教程默認已經在 samba.example.com 安裝了 Samba 服務器而且本地客戶無法連上服務器。
Error 1 - 連接掛起
首先,我們需要試著用 telnet 連接 Samba 服務器。使用下列命令 (Samba 監(jiān)聽端口445):
telnet samba.example.com 445
有時連接會莫名停止:
telnet samba.example.com 445
Trying 172.31.25.31...
這意味著 telnet 沒有收到任何回應來建立連接。有兩個可能的原因:
- 你和服務器之間有個路由器宕掉了。
- 防火墻攔截了你的請求。
為了排除第 1 點,對服務器上進行一個快速 mtr samba.example.com 。如果服務器是可達的,那么便是防火墻(注意:防火墻總是存在的)。
首先用 iptables -L -v -n 命令檢查服務器本身有沒有防火墻,沒有的話你能看到以下內容:
iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
如果你看到其他東西那可能就是問題所在了。為了檢驗,停止 iptables 一下并再次運行 telnet samba.example.com 445 看看你是否能連接。如果你還是不能連接看看你的提供商或企業(yè)有沒有防火墻攔截你。
Error 2 - DNS 問題
DNS 問題通常發(fā)生在你正使用的主機名沒有解析到 IP 地址。錯誤如下:
telnet samba.example.com 445
Server lookup failure: samba.example.com:445, Name or service not known
第一步是把主機名替換成服務器的 IP 地址。如果你可以連上那么就是主機名的問題。
有很多發(fā)生的原因(以下是我見過的):
- 域名注冊了嗎?用
whois來檢驗。 - 域名過期了嗎?用
whois來檢驗。 - 是否使用正確的主機名?用
dig或host來確保你使用的主機名解析到正確的 IP。 - 你的 A 記錄正確嗎?確保你沒有偶然創(chuàng)建類似
smaba.example.com的 A 記錄。
一定要多檢查幾次拼寫和主機名是否正確(是 samba.example.com 還是 samba1.example.com)?這些經常會困擾你,特別是比較長、難記或其它國家的主機名。
Error 3 - 服務器沒有偵聽端口
這種錯誤發(fā)生在 telnet 可達服務器但是指定端口沒有監(jiān)聽。就像這樣:
telnet samba.example.com 445
Trying 172.31.25.31...
telnet: Unable to connect to remote host: Connection refused
有這些原因:
- 你 確定 連接的是正確的服務器?
- 你的應用服務器沒有偵聽預期的端口。在服務器上運行
netstat -plunt來查看它究竟在干什么并看哪個端口才是對的,實際正在監(jiān)聽中的。 - 應用服務器沒有運行。這可能突然而又悄悄地發(fā)生在你啟動應用服務器之后。啟動服務器運行
ps auxf或systemctl status application.service查看運行。
Error 4 - 連接被服務器關閉
這種錯誤發(fā)生在連接成功建立但是應用服務器建立的安全措施一連上就將其結束。錯誤如下:
telnet samba.example.com 445
Trying 172.31.25.31...
Connected to samba.example.com.
Escape character is '^]'.
Connection closed by foreign host.
最后一行 Connection closed by foreign host. 意味著連接被服務器主動終止。為了修復這個問題,需要看看應用服務器的安全設置確保你的 IP 或用戶允許連接。
成功連接
成功的 telnet 連接如下:
telnet samba.example.com 445
Trying 172.31.25.31...
Connected to samba.example.com.
Escape character is '^]'.
連接會保持一段時間只要你連接的應用服務器時限沒到。
輸入 CTRL+] 中止連接,然后當你看到 telnet> 提示,輸入 quit 并按回車:
telnet samba.example.com 445
Trying 172.31.25.31...
Connected to samba.example.com.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
總結
客戶程序連不上服務器的原因有很多。確切原因很難確定,特別是當客戶是圖形用戶界面提供很少或沒有錯誤信息。用 telnet 并觀察輸出可以讓你很快確定問題所在節(jié)約很多時間。
分享標題:Telnet,愛一直在
瀏覽地址:http://www.5511xx.com/article/cdhopds.html


咨詢
建站咨詢
