首頁 > 軟體

如何解決SSH連線Linux超時自動斷開?

2020-06-16 17:28:57

最近專案開發中用到雲伺服器,部署了MySQL,開發團隊總是反映MySQL過一會兒就斷開連線了,必須手動重連才可以。反映越來越強烈,已經到了影響開發進度的高度了,必須解決!

查了資料,這個可能和SSH超時自動斷開是一樣的,可以修改以下2個設定引數來解決。

1、$TMOUT 系統環境變數

# 用以下命令判斷是否是否設定了該引數
echo $TMOUT
# 如果輸出空或0表示不超時,大於0的數位n表示n秒沒有收入則超時
# 修改方法
vi /etc/profile
# ----------------------------
export TMOUT=900
# ----------------------------
# 將以上900修改為0就是設定不超時
source /etc/profile
# 讓設定立即生效

2、sshd 服務設定

cd /etc/ssh
# 檢視sshd_config中關於用戶端活動狀態的設定
grep ClientAlive sshd_config
# 預設設定如下
# ----------------------------
#ClientAliveInterval 0
#ClientAliveCountMax 3
# ----------------------------
# ClientAliveInterval指定了伺服器端向用戶端請求訊息的時間間隔, 預設是0, 不傳送。設定60表示每分鐘傳送一次, 然後用戶端響應, 這樣就保持長連線了。
# ClientAliveCountMax表示伺服器發出請求後用戶端沒有響應的次數達到一定值, 就自動斷開。正常情況下, 用戶端不會不響應,使用預設值3即可。
# 備份原組態檔
cp sshd_config sshd_config.bak
# 啟用用戶端活動檢查,每60秒檢查一次,3次不活動斷開連線
sed -i "s/#ClientAliveInterval 0/ClientAliveInterval 60/g" sshd_config
sed -i "s/#ClientAliveCountMax 3/ClientAliveCountMax 3/g" sshd_config
# 確認修改
grep ClientAlive sshd_config
# 比較組態檔差異
diff sshd_config sshd_config.bak
# 重新載入ssd設定,讓設定生效
service sshd reload

修改設定截圖:

現在無論空閒多久,SSH用戶端都不會自動斷開了。

【參考資料】

http://www.linuxidc.com/Linux/2013-02/79940.htm

http://www.linuxidc.com/Linux/2013-02/79942.htm

下面關於SSH相關的文章您也可能喜歡,不妨參考下:

Ubuntu 下設定 SSH服務全過程及問題解決 http://www.linuxidc.com/Linux/2011-09/42775.htm

Ubuntu 14.04 下安裝Samba 及SSH 伺服器端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm

SSH服務遠端存取Linux伺服器登陸慢 http://www.linuxidc.com/Linux/2011-08/39742.htm

提高Ubuntu的SSH登陸認證速度的辦法 http://www.linuxidc.com/Linux/2014-09/106810.htm

開啟SSH服務讓Android手機遠端存取 Ubuntu 14.04  http://www.linuxidc.com/Linux/2014-09/106809.htm

如何為Linux系統中的SSH新增雙重認證 http://www.linuxidc.com/Linux/2014-08/105998.htm

在 Linux 中為非 SSH 使用者設定 SFTP 環境 http://www.linuxidc.com/Linux/2014-08/105865.htm

Linux 上SSH 服務的設定和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-11/137049.htm


IT145.com E-mail:sddin#qq.com