連線伺服器失敗是什麼原因(伺服器老是斷開連線怎麼回事)
最近經常有人問我為什麼伺服器隔一段時間不操作就自動斷開了,這個有時候還是影響比較大的,只是中午出去吃個飯回來,任務就斷開了,由於沒有nohup後臺之行,還得重新執行一遍。我們目前遠端訪問伺服器使用的都是ssh的方案,ssh為了伺服器端的安裝,隔一段時間不操作,伺服器端將自動斷開連線,這是正常現象,有幾種方法可以修改這種預設行為,下面我們來具體介紹一下。
修改TMOUT變數
#用以下命令判斷是否是否設定了該引數
echo $TMOUT
# 如果輸出空或0表示不超時,大於0的數字n表示n秒沒有收入則超時
# 修改方法
vi /etc/profile
# ----------------------------
export TMOUT=900
# ----------------------------
# 將以上900修改為0就是設定不超時
source /etc/profile
# 讓配置立即生效
修改SSH配置
ClientAliveInterval指定了伺服器端向客戶端請求訊息的時間間隔, 預設是0, 不傳送。設定60表示每分鐘傳送一次, 然後客戶端響應, 這樣就保持長連線了。
ClientAliveCountMax表示伺服器發出請求後客戶端沒有響應的次數達到一定值, 就自動斷開。正常情況下, 客戶端不會不響應,使用預設值3即可。
使用root賬戶修改這兩個配置即可。
# 啟用客戶端活動檢查,每60秒檢查一次,3次不活動斷開連線
sed -i "s/#ClientAliveInterval 0/ClientAliveInterval 60/g" sshd_config
sed -i "s/#ClientAliveCountMax 3/ClientAliveCountMax 3/g" sshd_config
#重啟ssh服務
service sshd restart
客戶端配置
以上方案都只有管理員可以操作,其實客戶端也可以進行設定,一般都在客戶端工具的設定選項中,在裡面找ssh設定,客戶端採取的方案一般都是每隔一個時間點,比如30秒,自動向伺服器端傳送一個訊號,告訴伺服器端,客戶端還在活動,進而“騙過”伺服器端程式,保持持續連線。下面我們介紹幾款常見ssh工具的設定。
pytty
mobaxterm設定
xshell設定