首頁  >  文章  >  運維  >  如何解決SSH連線Linux逾時問題(分享)

如何解決SSH連線Linux逾時問題(分享)

奋力向前
奋力向前轉載
2021-09-13 13:14:373853瀏覽

之前的文章《淺析centos8中安裝禪道的步驟(附代碼)》中,給大家介紹了centos8中安裝禪道的步驟。以下這篇文章跟大家介紹如何解決SSH連接Linux超時問題,有一定的參考價值,有需要的朋友可以參考一下。

如何解決SSH連線Linux逾時問題(分享)

在開發當中經常需要登入遠端伺服器,於是透過sshputty登錄,可是一轉身,這廝就自動斷開了。讓人非常惱火,如何解決SSH連線Linux逾時自動斷開?

修改伺服器相關設定

$TMOUT#系統環境變數

# 用以下命令判断是否是否设置了该参数
echo $TMOUT
# 如果输出空或0表示不超时,大于0的数字n表示n秒没有收入则超时
# 修改方法
vi /etc/profile
# ----------------------------
export TMOUT=900
# ----------------------------
# 将以上900修改为0就是设置不超时
source /etc/profile
# 让配置立即生效

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

修改客服端相關設定

登入腳本

#!/usr/bin/expect
set timeout 60
spawn ssh user@host
      interact {
            timeout 300 {send "\x20"}
      }
expect eof

每隔300秒就會自動打一個空格(\x20),具體的時間間隔可以根據具體情況設定。

windows設定

#如果你在windows下透過工具連接,可以設定為

secureCRT:選項---終端---反空閒設定每隔多少秒發送一個字串,或是NO-OP協議包

putty:putty -> Connection -> Seconds between keepalives ( 0 to turn off ), 預設為0, 改為300. 

推薦學習: Linux影片教學

以上是如何解決SSH連線Linux逾時問題(分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:chuchur.com。如有侵權,請聯絡admin@php.cn刪除