Telnet 雖因明文傳輸不安全已被 SSH 取代,但在舊設備管理、網路設備除錯、特定舊版應用測試等場景仍有需求。Windows 7 預設未安裝 Telnet 元件,本文提供控制台安裝、DISM 命令列安裝、服務啟用、防火牆規則、安全替代方案完整流程。
# CMD (管理員)
dism /online /Enable-Feature /FeatureName:TelnetClient
# PowerShell (管理員)
Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient
telnet /?
# 顯示說明即安裝成功
telnet towel.blinkenlights.nl
# 連線星球大戰 ASCII 動畫測試連線
# 開啟服務管理
services.msc
# 找到 "Telnet" 服務
# 啟動類型:手動 (建議) 或 自動
# 服務狀態:啟動
# 命令列等效
sc config TlntSvr start= demand
net start TlntSvr
# 允許 TCP 23 通過 (管理員 PowerShell)
New-NetFirewallRule -DisplayName "Telnet Server" -Direction Inbound -LocalPort 23 -Protocol TCP -Action Allow -Profile Domain,Private,Public
# 或 CMD
netsh advfirewall firewall add rule name="Telnet Server" dir=in action=allow protocol=TCP localport=23
# 從用戶端
telnet
# 輸入帳號密碼登入
# 1. 安裝 Windows Management Framework 5.1 (含 PowerShell 5.1)
# 下載:https://www.microsoft.com/en-us/download/details.aspx?id=54616
# 2. 安裝 OpenSSH (管理員 PowerShell)
# 方法 A: 使用 Chocolatey
choco install openssh -y
# 方法 B: 手動部署 (GitHub Release)
# 下載 OpenSSH-Win64.zip 解壓至 C:\Program Files\OpenSSH
# 執行 install-sshd.ps1
# 設定服務自動啟動
Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic
Start-Service sshd
Start-Service ssh-agent
# 3. 防火牆開放 22
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
# 4. 連線測試
ssh user@server_ip
| 現象 | 原因 | 解決 |
|---|---|---|
| 「telnet 不是內部或外部命令」 | 未安裝 Telnet 用戶端 / 環境變數未刷新 | 重新開啟 CMD/PowerShell、重新登入、或重開機 |
| 連線失敗:連線被拒絕 | 伺服端 Telnet 服務未啟動 / 防火牆封鎖 23 | 檢查 services.msc、防火牆規則 |
| 登入失敗:存取被拒 | 帳號未加入 TelnetClients 群組 / NTLM 驗證失敗 | 控制台 → 用戶帳戶 → 管理其他帳戶 → 進階 → 群組 → TelnetClients 加入使用者 |
| 中文顯示亂碼 | 編碼不匹配 | telnet 連線後執行 chcp 65001 (UTF-8) 或設定終端機編碼 |
# PowerShell DSC 片段
Configuration EnableTelnetClient {
Node "localhost" {
WindowsFeature TelnetClient {
Name = "TelnetClient"
Ensure = "Present"
}
}
}
EnableTelnetClient
Start-DscConfiguration -Path .\EnableTelnetClient -Wait -Verbose
Windows 7 啟用 Telnet 用戶端僅需一條 DISM 指令;Telnet 伺服器因安全性極低,嚴禁生產環境部署。請全面遷移至 OpenSSH,享受加密傳輸、金鑰認證、SFTP 檔案傳輸、Port Forwarding 等現代化功能。若受限於舊版設備必須使用 Telnet,請嚴格限制存取來源 IP、隔離網段、定期審計日誌。