在區域網路環境下,雖然 ping 目標主機延遲僅在微秒級,但使用 SSH 連線卻需等待 10–30 秒才出現密碼提示,這類「連得上、卻很慢」的現象最常見的成因是 SSH 服務端預設開啟 GSSAPI 認證與 DNS 反向解析。當客戶端發起連線時,伺服器會嘗試對客戶端 IP 做反向查詢(PTR 記錄),若 DNS 伺服器回應緩慢或無回應,連線流程便會卡在驗證協商階段。
在客戶端執行 ssh -v user@host,若輸出中出現類似 debug1: Next authentication method: gssapi-with-mic 並隨後顯示 Cannot determine realm for numeric host address,即可確認是 GSSAPI 與 DNS 反解導致延遲。
/etc/ssh/sshd_config# 關閉 GSSAPI 認證
GSSAPIAuthentication no
GSSAPICleanupCredentials no
# 關閉 DNS 反向解析(關鍵)
UseDNS no
修改完成後重啟 SSH 服務:
sudo systemctl restart sshd # CentOS/RHEL 7+、Ubuntu 16.04+
# 或
sudo service ssh restart # 舊版系統
再次執行 ssh -v user@host,密碼提示應在 1–2 秒內出現,且 debug 輸出不再顯示 GSSAPI 相關訊息。
若無權修改伺服器設定,可在客戶端 ~/.ssh/config 加入:
Host *
GSSAPIAuthentication no
並確保 /etc/hosts 含有目標主機的 IP–主機名對應,減少 DNS 查詢。
UseDNS yes,伺服器端仍會做反解,延遲依然存在。採用上述設定後,區域網 SSH 連線通常可從「十秒級」降至「秒級甚至毫秒級」,顯著提升運維效率。
Ubuntu 一鍵升級核心腳本:GitHub 下載、授權執行、重啟生效
Linux OOM Killer 機制深度解析:原理、排查與核心進程保護實戰
CentOS RPM 套件管理完整操作指南:安裝、升級、驗證、查詢、資料庫重建
VirtualBox 安裝 Ubuntu 後滑鼠無法自動釋放、剪貼板無法共享?安裝 Guest Additions 完整解決
Linux XFS 檔案系統完整部署指南:核心編譯、格式化、掛載與遷移實戰
Linux 多執行緒下載工具 Axel 安裝與使用完整指南:CentOS/Debian/RedHat 跨平台部署