linux ssh 持久連線
阿新 • • 發佈:2018-11-07
用客戶端連線linux伺服器,經常伺服器經常踢開使用者,很麻煩,為了一直保持連線,最少白天工作時一直連線。
- 在伺服器端修改;
- 在客戶端修改,所謂的客戶端是指本身也是linux機器,可能是另一臺server,或者是linux本地機。
- 對於windows系統下,修改遠端登入軟體的引數配置。
一、配置服務端持久連線
編輯伺服器 /etc/ssh/sshd_config,最後增加
#server每隔60秒傳送一次請求給client,然後client響應,從而保持連線 ClientAliveInterval 60 #server發出請求後,客戶端沒有響應得次數達到3,就自動斷開連線,正常情況下,client不會不響應。 ClientAliveCountMax 3
修改後需要重啟sshd服務
二、配置客戶端持久連線
實際上就是說,在客戶端這裡修改ssh的配置檔案或者是(終端工具的session的配置),讓ssh會主動定時傳送訊息,這樣使得連線不會一段時間不操作後中斷。
下面是設定ssh配置檔案的方式來配置ssh持久連線
#vim /etc/ssh/ssh_config
(注意不是/etc/ssh/sshd_config檔案,這個是server的)
在後面新增
#client每隔60秒傳送一次請求給server,然後server響應,從而保持連線 ServerAliveInterval 60 #client發出請求後,伺服器端沒有響應得次數達到3,就自動斷開連線,正常情況下,server不會不響應 ServerAliveCountMax 3
這表示要讓所有的ssh連線自動加上此屬性。
如果要指定服務端,如下:
使用-o的引數ServerAliveInterval來設定一個防止超時的時間
ssh -o ServerAliveInterval=60 IP地址
譬如 ssh -o ServerAliveInterval=60 [email protected]
三、對於windows系統的軟體
使用SecureCRT連線遠端伺服器,在會話(session)選項 -> 終端設定中勾選"傳送協議 NO-OP"。
使用putty連線遠端伺服器,找到Connection -> Seconds between keepalives ( 0 to turn off ), 預設為0,改為60。