- Telnet 允許透過文字終端進行遠端管理,並且仍然可用於連接測試,但它缺乏加密,這帶來了重大的安全風險。
- SSH 是現代且安全的替代品,它增強了資料保護並提供強大的身份驗證,在大多數專業和雲端環境中取代了 Telnet。
- 如今,Telnet 只能在高度控制的環境、內部網路或較舊的裝置上使用;只要有可能,就建議採用現代替代品。
你是否曾好奇系統管理員如何透過網路存取遠端計算機,並像坐在它們面前一樣管理任務?這正是 Telnet 的用途所在。 Telnet 是一種經典的協議,幾十年來一直是 TCP/IP 連接中電腦之間的橋樑。儘管如今有了 SSH 等更安全的替代方案,但 Telnet 在特定情況下仍然非常有用,對於每位網路專業人員或感興趣的用戶來說,Telnet 都是一個值得熟知的術語。
本文將深入探討Telnet 的世界:從它的起源和工作原理,到它的使用方法、安全風險、與 SSH 的區別、實際示例、在現代系統中啟用它的方法,以及為什麼儘管存在種種問題,它仍然是技術領域的一個重要話題。如果您正在尋找清晰、全面且簡潔的 Telnet 解釋,以便徹底了解它,那麼您來對地方了。
Telnet 到底是什麼?基本協議的起源和歷史
Telnet 是一種網路協議,它於 20 世紀 60 年代末期出現,旨在利用 TCP/IP 連接將遠端終端連接到伺服器或電腦系統。它源自於「電傳打字機網路」或「電信網路」一詞,其主要功能是允許使用者和管理員存取遠端電腦、管理資源、排除故障或執行命令,就像他們身處遠端設備旁一樣。
該協定在互聯網擴展和學術中心及商業環境採用網路的過程中發揮了關鍵作用,因為它提供了在 UNIX 系統和其他作業系統上開啟遠端會話的可能性,從而促進了不受物理障礙的協同工作和管理。預設情況下,Telnet 透過 TCP 連接埠 23 使用,但如果需要,也可以將其配置為使用其他連接埠。
儘管 Telnet 的流行始於幾十年前,但它仍然是許多作業系統和網路環境中的標準功能,既可用於管理,也可用於某些診斷和連接任務。
Telnet 如何運作?技術原理與運作模式

Telnet 採用客戶端伺服器架構:客戶端是起點(您連接的機器),伺服器是您想要遠端存取的電腦或裝置。
要建立這種通信,通信雙方都必須啟用 Telnet。具體步驟如下:
- 客戶端向伺服器發起存取請求,輸入登入的使用者名稱和密碼。
- 伺服器驗證憑證,如果正確,則開啟虛擬終端會話,允許使用者使用文字命令進行互動。
- 從那裡,您可以運行命令、瀏覽檔案、監視進程或執行遠端作業系統允許的任何任務。
Telnet 以文字模式運行,沒有圖形,並允許基本管理和遠端故障排除。最初的優點包括資源消耗低、易於診斷和維護任務。
該協定提供不同的操作模式,以適應不同的通訊需求:
- 預設模式(半雙工): 使用者在發送之前輸入一整行文字;這是最基本的模式。
- 角色模式: 每個字元在輸入時都會被發送,從而產生更多的流量,但對於某些應用程式來說即時很有用。
- 線路模式: 當行完成時發送輸入的字元;在管理長命令時,這是很常見的。
除了這些模式之外,Telnet 還包含一系列用戶端和伺服器之間可協商的命令和選項,用於調整諸如字元回顯、視窗大小、終端類型或停用某些控制項等行為。這為與不同的作業系統和設備配合使用提供了靈活性。
Telnet 現在用於什麼?主要用途、優點和局限性
雖然 Telnet 已被安全遠端管理所取代,但它對於以下任務仍然有用:
- 解決連線和網路問題: 測試連接埠是否開放或服務是否正確回應,這對於系統管理員來說至關重要。
- 存取遠端設備進行快速診斷: 尤其是在安全性不是很重要的環境中(例如內部網路或不支援 SSH 的舊設備)。
- 網路設備配置: 路由器、交換器和其他仍允許 Telnet 存取的設備,主要在傳統安裝中。
- 連接到遺留系統或應用程式: 一些老牌企業系統、純文字BBS、以及線上天氣預報、經典遊戲伺服器等公共服務。
- 任務自動化和基本腳本: 可以使用 Telnet 腳本發送設定指令或執行重複測試。
Telnet 的優點包括簡單、資源消耗低、易於測試網路服務,使其成為快速管理和故障排除任務的有用工具。但另一方面,它也有嚴重的缺陷:
- 不加密訊息: 所有資料(包括密碼和命令)均以明文形式傳輸。
- 缺乏高級身份驗證: 任何有權訪問網路的人都可以嘗試攔截或操縱會話。
- 易受攻擊和惡意軟體攻擊:開放的 Telnet 連接埠是漏洞利用和未經授權存取的目標。
由於這些原因,僅建議在完全安全的環境、隔離的網路或安全性不是優先考慮的測試目的中使用。
Telnet 與安全:風險及其替代的原因
Telnet最大的弱點在於其安全性。客戶端和伺服器之間傳輸的所有資訊都未加密,以所謂的「明文」形式傳輸。這意味著任何能夠攔截網路流量的人——使用諸如Wireshark或tcpdump之類的工具——都可以讀取會話期間傳輸的使用者名稱、密碼、命令和資料。
由於缺乏加密,Telnet 不適合在存在攔截風險的網路上進行任何遠端訪問,例如互聯網或具有外部連接的公司環境。除了:
- 不提供端點身份驗證 通信,使其容易受到中間人攻擊。
- 多年來,人們發現了許多漏洞, 影響客戶端和伺服器的實作。
- 面向互聯網的 Telnet 服務經常受到自動腳本的攻擊,這些腳本試圖在無需密碼或使用弱憑證的情況下進行存取。
- 現代作業系統通常預設禁用 Telnet, 正是因為這些風險。
面對這些威脅,SSH(安全外殼)協定作為一種自然的應對措施和替代方案應運而生,它對所有通訊進行加密並提供強大的身份驗證和驗證機制。
Telnet 與 SSH:主要區別以及何時使用
SSH 和 Telnet 的共同目標是實現對系統和終端的遠端訪問,但它們在直接影響安全性和功能的本質方面存在差異。
| 特點 | 遠程登錄 | SSH |
|---|---|---|
| 資料是否加密? | 沒有 | 是的,強加密 |
| 預設連接埠 | 23(TCP) | 22(TCP) |
| 進階身份驗證 | 沒有 | 是(公鑰、憑證) |
| 文件傳輸 | 僅限外部協議 | 是(SCP、SFTP 整合) |
| Uso recomendado | 內部網路、遺留設備 | 所有類型的網絡,尤其是互聯網 |
| 跨平台兼容性 | 阿爾塔 | 阿爾塔 |
| 資源消耗 | 低 | 中/高 |
簡而言之,Telnet 可以在封閉和受信任的環境中有效(例如,與互聯網斷開連接的 LAN 或遠端設備不支援 SSH 時),而對於涉及傳輸敏感資料或暴露於潛在危險網路的任何操作,SSH 始終是首選選項。此外,SSH 還包含其他功能,例如連接埠轉送、安全隧道以及安全性自動執行任務的能力。
Telnet 的實際用途和實際範例
除了理論之外,Telnet 仍然有一些值得了解的實際應用,無論是在系統測試還是偶爾的管理任務中。
- 檢查遠端伺服器上的開放連接埠: 通常使用 Telnet 來測試 HTTP(連接埠 80)、HTTPS(443)或 SMTP(25)等服務是否正在特定電腦上監聽。通常的命令是:
telnet ip_address_or_domain_port
- 如果連接埠打開,螢幕將為空白,您將能夠輸入命令,具體取決於服務。否則,將會發生連線錯誤。
- 存取基於文字的 BBS(公告板系統): 一些較舊的論壇、線上遊戲服務或懷舊平台仍然允許透過 Telnet 訪問,只是為了復古娛樂。
- 測試實用程式連接: 有一些有趣的例子,例如查看天氣預報、在線下棋或觀看電影的 ASCII 表示,使用以下命令:
telnet 毛巾.blinkenlights.nl 23
- 自動執行網路設備上的簡單任務: 當 SSH 不可用時,某些路由器和交換器允許透過 Telnet 編寫設定腳本。
但是,對於涉及敏感資訊的任何任務,仍然建議遷移到 SSH,或者如果失敗,則使用 VPN 隧道或其他額外的安全措施來保護 Telnet 會話。
如何在 Windows、Linux 和 Mac 上啟用和使用 Telnet
多年來,現代版本的作業系統由於存在風險而選擇預設為禁用 Telnet。但是您仍然可以在伺服器和一般使用者環境中僅透過幾個步驟啟動和使用該協定。
在窗戶上
Windows 10、11 和較新的伺服器版本中,Telnet 預設不再啟用。要啟用它:
- 輸入 控制面板 和訪問 程序.
- 點擊 打開或關閉Windows功能.
- 找到並選取複選框 Telnet客戶端,然後單擊 接受.
從那時起,您可以開啟命令提示字元或 PowerShell ,並執行telnet命令來啟動會話。例如:
telnet 伺服器.remote.com 23
您也可以使用以下命令從命令列啟用 Telnet:
Dism /Online /Enable-feature /FeatureName:TelnetClient
或從 PowerShell:
安裝-WindowsFeature-name Telnet-Client
在Linux上
大多數發行版都保留 Telnet 作為可安裝包,儘管它不再預先安裝。您可以使用發行版的套件管理器來安裝它,例如在 Ubuntu 中:
sudo apt 更新 sudo apt 安裝 telnet
然後,打開終端機並運行:
telnet ip_or_domain 端口
在Mac OS上
在較早的 Mac 系統中,Telnet 預設可用。但在 macOS High Sierra (10.13) 及更高版本中,Apple 移除了 Telnet 用戶端。如果您需要使用 Telnet,可以:
- 從先前版本複製可執行檔。
- 從原始碼編譯 Telnet。
- 或者,如果您只需要執行連線測試,請使用外部應用程式。
此外,還可以使用網路實用程式掃描端口,這是對 Telnet 經典用法的補充。
Telnet 進階命令和選項
Telnet 提供了一系列基本和進階命令,可讓您在用戶端和伺服器之間協商選項,從而輕鬆調整終端類型、視窗大小和迴聲管理等參數。
- 幫助 o ?:顯示可用的命令。
- 打開 :連接到指定連接埠上的主機或 IP。
- 退出:關閉目前會話。
- 設定/取消設定 :開啟或關閉迴聲、控制靜音、終端類型等功能。
對於底層協議,Telnet 協商以下選項:
- Echo:控制輸入字元的顯示。
- 抑制前進:無需額外的訊號來發送資料。
- 狀態、視窗大小、終端機類型、線路模式…:使會話適應遠端設備或應用程式的不同參數。
有控制和子協商程式碼可以促進諸如管理環境變數、身份驗證或擴展客戶端和伺服器允許的基本功能等任務。
Telnet 的關鍵限制和風險
目前使用 Telnet 有明顯的風險:
- 任何傳輸的資料(包括密碼)都可能被有權存取網路的第三方捕獲。
- 缺乏強烈身份驗證: 如果您知道 IP 和端口,您可以隨意嘗試訪問多次,有時不受限制。
- 容易被惡意軟體或自動腳本利用: 有些機器人會搜尋開放的 23 連接埠來嘗試強制存取或安裝後門。
- 它不適用於雲端環境、現代物聯網設備或安全性是基本要求的關鍵服務。
基於所有這些原因,安全專家和領先組織建議盡可能停用 Telnet 或將其限制在內部網路中,與互聯網斷開連接,並採用額外的實體存取控制。
現代 Telnet 替代方案
鑑於 Telnet 本身的不安全性,有幾種被廣泛採用的替代方案:
- SSH(安全外殼): 它是遠端管理、安全連接和檔案傳輸的終極選擇。所有資訊都經過加密,並且可以使用公鑰進行驗證。 SSH 還允許連接埠轉送、加密隧道、安全自動化和檔案傳輸(SCP/SFTP)。
- Mosh(手機殼): 它非常適合不穩定的連接,即使您更改網路或暫時失去連接,它也能維持會話,非常適合行動管理。
- RDP(遠端桌面協定): 更面向 Windows 環境中的圖形管理;可讓您透過圖形介面檢視和管理裝置。
- VNC(虛擬網路運算): 遠端存取圖形介面,對於混合環境很有用,並且與 SSH 隧道結合使用時可以實現類似的安全性。
- VPN(虛擬專用網絡): 建立安全通道的選項,這樣您就可以使用 Telnet 或其他服務,而無需將資料暴露給第三方。雖然它不能消除 Telnet 的內部風險,但確實增加了一個重要的障礙。
選擇哪種替代方案取決於具體情況,但只要安全性很重要,SSH 就是替代 Telnet 的首選解決方案。
Telnet 可能仍然有用或不可避免的情況
在某些情況下,Telnet 可能仍然是必要或有用的,但始終在評估風險並採取補充措施之後:
- 無法存取 Internet 的內部或隔離網路: 實驗室、測試環境或無法使用 SSH 的遺留系統。
- 遺留設備、工業硬體或舊設備: 其中僅支援 Telnet 進行配置或診斷。
- 使用簡單工具進行基本腳本編寫和自動化: 尤其是當風險受到控制且基礎設施不允許採用現代替代方案時。
無論何時使用 Telnet,建議限制存取、監控日誌,並考慮使用加密隧道(例如 VPN)以最大限度地減少暴露。
Telnet 常見問題:常見問題:常見問題解答
在其整個歷史中,Telnet 引發了許多問題,特別是對於剛接觸網路管理或希望執行快速測試的人而言。這裡我們回答最常見的問題:
- Telnet 允許檔案傳輸嗎?
- 不直接。 Telnet 僅處理文字會話。若要傳輸文件,您必須使用其他協議,例如 FTP、SCP(透過 SSH)或執行特定的腳本。
- 是否可以使用 Telnet 進行自動化或腳本編寫?
- 是的, 您可以建立開啟 Telnet 會話、傳送命令和處理回應的腳本。 但是,由於缺乏加密,因此不建議用於敏感任務。
- Telnet 是否支援多個使用者同時使用?
- 是的, 可以對同一台伺服器開啟多個 Telnet 會話, 每個都有獨立的認證。
- Telnet 對於物聯網或雲端診斷有用嗎?
- 僅在非常特殊的情況下且安全不是首要考慮因素時。現代環境優先使用加密協定來保護資料和設備。
- Telnet 可以加密您的通訊嗎?
- 不是原生的。 只有在 VPN 或安全隧道內使用時才能加密流量,但協定本身缺乏加密機制。
負責任且安全地使用 Telnet 的技巧
如果必須使用 Telnet,請遵循以下建議以最大限度地降低風險:
- 始終在受信任的網路上使用它,並且不要與互聯網斷開連接。
- 在不需要該服務的伺服器和電腦上停用該服務。
- 使用防火牆和 IP 限制加強存取。
- 定期監控存取日誌以偵測未經授權的嘗試。
- 如果您暴露在不安全的網路中,請務必考慮遷移到 SSH 或使用 VPN。
- 避免不必要地打開連接埠並消除預設使用者名稱或密碼。
Telnet 的未來:繼續使用它有意義嗎?
儘管 Telnet 是網路和伺服器管理的經典工具,但與現代且安全的替代方案相比,其過時已顯而易見。除了在高度受控的環境中,Telnet 的使用越來越局限於偶爾的診斷、舊設備或快速測試。大多數製造商、開發人員和雲端服務供應商都選擇使用 SSH 和加密技術,使得 Telnet 淪為一種象徵性的存在。
然而,了解 Telnet對於網路專業人士和技術愛好者來說仍然具有現實意義,因為它有助於了解遠端管理的發展、終端存取的基礎知識以及網路安全的歷史挑戰。
Telnet 代表了現代計算早期遠端管理和連接的精髓。儘管它在安全性和功能性方面已被超越,但它仍然是了解遠端存取如何發展、在沒有保護的情況下傳輸敏感資料的危險以及採用 SSH 等強大協定的重要性的起點。某種程度上來說,掌握 Telnet 就是掌握現代網路的歷史與基礎。