【OpsDev】解決mac下ssh空閒一段時間自動斷開的問題
阿新 • • 發佈:2019-01-23
在macbook中使用終端, 通過ssh連線上遠端伺服器後, 隔一段時間沒有資料傳遞時會自動斷開,而表象就是終端會卡著無響應,要等幾分鐘後才會顯示斷開並且返回到本地終端命令列。這個問題太影響流暢性和心情, 決定修一修。
第一種方法, 在本地或者遠端伺服器修改ssh配置, 定時發起類似心跳的訊號。
1)在伺服器中的/etc/ssh/sshd_config中去掉原有註釋並改成這樣:
ClientAliveInterval 60
ClientAliveCountMax 3
ClientAliveInterval 60表示每分鐘傳送一次, 然後客戶端響應, 從而保持長連線. ClientAliveCountMax表示伺服器發出請求後客戶端沒有響應的次數達到3次, 就自動斷開。2)在客戶端中的/etc/ssh/ssh_ssh_config中去掉註釋並改成這樣:
ServerAliveInterval 60
ServerAliveCountMax 2
對應的意義與上面類似。
第二種方法,使用autossh, 它會在ssh斷開後自動再連線上。
目前我用的是這個版本: https://github.com/wufeifei/autossh
據說是神器, 不過我沒用上。