Home  >  Article  >  Operation and Maintenance  >  How to solve the SSH connection Linux timeout problem (share)

How to solve the SSH connection Linux timeout problem (share)

奋力向前
奋力向前forward
2021-09-13 13:14:374146browse

In the previous article "A brief analysis of the steps to install ZenTao in centos8 (with code)", we introduced the steps to install ZenTao in centos8. The following article will introduce to you how to solve the SSH connection timeout problem in Linux. It has certain reference value and friends in need can refer to it.

How to solve the SSH connection Linux timeout problem (share)

During development, I often need to log in to the remote server, so I log in through ssh or putty, but when I turn around, This guy automatically disconnected. It's very annoying. How to solve the problem of SSHconnectionLinux automatically disconnecting after timeout?

Modify server-related configuration

<strong>$TMOUT</strong>System environment variables

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

<strong>sshd</strong>Service configuration

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

Modify client-side related configuration

Login script

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

Every 300 A space (\x20) will be automatically entered every second. The specific time interval can be set according to the specific situation.

<strong>windows</strong>Configuration

If you connect through tools under windows, It can be set to

secureCRT: Options---Terminal---Anti-idle, set how many seconds to send a string, or NO-OP protocol Package

putty: putty -> Connection -> Seconds between keepalives (0 to turn off), the default is 0, change to 300.

Recommended learning: Linux video tutorial

The above is the detailed content of How to solve the SSH connection Linux timeout problem (share). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:chuchur.com. If there is any infringement, please contact admin@php.cn delete