運維指南

CentOS 7 SSH 登入很慢時,先怎樣做一輪有效優化

一篇面向實作的說明,講清楚當老 CentOS 7 主機在 SSH 登入前卡很久時,如何先用 optimize_centos7_ssh.sh 處理反向 DNS、GSSAPI 與 IPv6 回退這幾類高頻原因。

閱讀約 6 分鐘 · 2026-04-07

什麼時候這條腳本應該作為第一步

這條腳本適合那種「SSH 其實能連上,但在出密碼提示前,或進 shell 前明顯卡頓」的主機。

這種現象通常不是帳號本身的問題,而是 sshd 在等待反向 DNS 解析、GSSAPI 協商,或陷入了一個會超時但不好用的 IPv6 路徑。

腳本改了什麼,以及為什麼有效

腳本會把三項高頻優化寫進 sshd_config:UseDNS no、GSSAPIAuthentication no 和 AddressFamily inet。

第一項用來去掉反向解析等待,第二項用來關閉沒在用的 Kerberos/GSSAPI 協商,第三項則是避免老機器在有問題的 IPv6 路徑上浪費時間。

optimize_centos7_ssh.sh 備份 sshd_config、執行 sshd -t 檢查並成功重啟 sshd 時的終端輸出
一次正常執行應當看到設定備份、三項 SSH 調優寫入、sshd -t 檢查通過,以及最後的 sshd 重啟。
  • 先備份 /etc/ssh/sshd_config
  • 以冪等方式寫入設定,避免重複堆疊
  • 重啟前先執行 sshd -t
  • 只有檢查通過才重啟 sshd

在生產類主機上的推薦執行方式

更穩的做法是保留一個現有 SSH 工作階段,再從第二個工作階段執行腳本,只有在確認新連線已恢復正常後,才關閉原來的登入。

如果這台機器依賴 Kerberos,或明確依賴 IPv6-only 連通,就不要盲目套這組預設值。這條腳本的目標是先去掉高頻卡點,不是取代正式的 SSH 策略評審。

相關專題

CentOS 7 維運恢復

面向仍在運行 CentOS 7 的遺留主機,集中處理 yum 源失效、鏡像倉庫 404、Docker 資料遷移等維運恢復場景。

查看專題

問題頁面

為什麼 CentOS 7 的 SSH 登入很慢

最常見的根因是反向 DNS 解析、GSSAPI 驗證協商,以及部分舊環境裡的 IPv6 回退。先把這些等待關掉,再做更深的 SSH 排查。

打開頁面