【OpsDev】解決mac下ssh空閒一段時間自動斷開的問題

在macbook中使用終端, 通過ssh連接上遠程服務器後, 隔一段時間沒有數據傳遞時會自動斷開,而表象就是終端會卡着無響應,要等幾分鐘後纔會顯示斷開並且返回到本地終端命令行。這個問題太影響流暢性和心情, 決定修一修。

第一種方法, 在本地或者遠程服務器修改ssh配置, 定時發起類似心跳的信號。

  • 在服務器中的/etc/ssh/sshd_config中去掉原有註釋並改成這樣:
ClientAliveInterval 60
ClientAliveCountMax 3

ClientAliveInterval 60表示每分鐘發送一次, 然後客戶端響應, 從而保持長連接. ClientAliveCountMax表示服務器發出請求後客戶端沒有響應的次數達到3次, 就自動斷開。

  • 在客戶端中的/etc/ssh/ssh_ssh_config中去掉註釋並改成這樣:
ServerAliveInterval 60
ServerAliveCountMax 2

對應的意義與上面類似。

第二種方法,使用autossh, 它會在ssh斷開後自動再連接上。

目前我用的是這個版本: https://github.com/wufeifei/autossh

  • 第三種方法,使用mosh工具, 參考http://mosh.mit.edu/ 。

據說是神器, 不過我沒用上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章