Linux

解決我的 SSH 會話掛起幾秒鐘的問題

  • December 6, 2010

我通過 SSH(在我的筆記型電腦上使用 PuTTY)登錄到我的開發框,並且會話會定期掛起幾秒鐘,然後再次響應。我無法縮小範圍。

網路設置:伺服器和筆記型電腦連接到同一個路由器。

包裝盒上的服務:

  • 阿帕奇
  • 杯子
  • 失敗2禁令
  • mysqld
  • 桑巴
  • sendmail(用於帶有 dkim-filter 的 SMTP)
  • SSH(如前所述)

最高輸出

這是在掛斷發生後的幾分鐘。

top - 02:16:14 up 15 days,  1:11,  1 user,  load average: 0.00, 0.03, 0.07
Tasks: 125 total,   1 running, 124 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.3%us,  1.5%sy,  0.0%ni, 92.5%id,  2.6%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   1017408k total,   950744k used,    66664k free,   359728k buffers
Swap:  4194300k total,    14012k used,  4180288k free,   191344k cached

解決這個問題的提示?

我猜:

SSHv2 客戶端在每 X 分鐘和/或 Y 字節傳輸後啟動一次密鑰重新交換(對於 PuTTY,預設值為 60 分鐘和 1 GB)。重新生成密鑰應該只需要 1-3 秒,但在完成之前,不能通過 SSH 連接傳輸其他數據。

在 PuTTY 的事件日誌中查找“Initiating key re-exchange ( reason )”。Ctrl Right Click在終端視窗上。)

事件簿

如果確實是這個原因,您可以:

  • 在Connection → SSH → Kex中將特定算法(例如 DH group 14)移動到“組交換”上方
  • 增加同一頁面的重新交換超時

引用自:https://serverfault.com/questions/209474