想必大家都知道,用終端 ssh 連接服務器,如果長時間沒有操作,會被斷開連接。
要用的話又得重新登錄,這非常不方便,也影響開發效率。那針對這種情況,有沒有解決方法呢?
答案是肯定的。理論上,有兩種方案 :
1.修改服務器sshd_config文件
2.修改使用者CRT的鏈接每隔多長時間發送一個字符串
修改服務器不太可能,站在管理者的角度思考問題,保持長時間連接,耗資源,誰也不同意讓開發這樣做。
那就從我們的客戶端改起。
Mac 有兩種解決方法
1、下載SecureCRT,這個終端軟件可以設置每隔一段時間,發送一串空字符,從而保證了和服務器長時間的連接
在這里吐槽下,SecureCRT Mac版本不好用,有些命令 ,如grep tail 等用了還不如不用, 根本停不下來, Ctrl + c、z
都不管用,不知道有什么命令能終止掉呢?知道的,可以跟我說下哈~~
2、直接修改 /etc/ssh_config文件
將 #ServerAliveCountMax 3
#ServerAliveInterval 0
的注釋去掉,並且 ServerAliveInterval 0 改為 ServerAliveInterval 5
參數備注 :
1、ServerAliveCountMax 3 :表示服務器發出請求后客戶端沒有響應的次數達到一定值, 就自動斷開. 正常情況下, 客戶端不會不響應.
2、ServerAliveInterval 0 :指定了服務器端向客戶端請求消息的時間間隔, 默認是0, 不發送.
而ServerAliveInterval 5表示每5秒向服務器發送一次,這樣就保持長連接了。
