Maison  >  Article  >  Opération et maintenance  >  Comment résoudre le problème de délai d'expiration de la connexion SSH Linux (partage)

Comment résoudre le problème de délai d'expiration de la connexion SSH Linux (partage)

奋力向前
奋力向前avant
2021-09-13 13:14:374146parcourir

Dans l'article précédent "Une brève analyse des étapes pour installer ZenTao dans centos8 (avec code)", nous avons présenté les étapes pour installer ZenTao dans centos8. L'article suivant vous expliquera comment résoudre le problème d'expiration de la connexion SSH sous Linux. Il a une certaine valeur de référence et les amis dans le besoin peuvent s'y référer.

Comment résoudre le problème de délai d'expiration de la connexion SSH Linux (partage)

Pendant le développement, j'ai souvent besoin de me connecter au serveur distant, donc je me connecte via ssh ou putty, mais quand je me retourne, le Le serveur est automatiquement déconnecté. C'est très ennuyeux. Comment résoudre le problème de la déconnexion automatique de la connexion SSH Linux après un délai d'attente ? ssh或者putty登录,可是一转身,这厮就自动断开了。让人非常恼火,如何解决SSH连接Linux超时自动断开?

修改服务器相关配置

<strong>$TMOUT</strong>系统环境变量

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

<strong>sshd</strong>服务配置

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),具体的时间间隔可以根据具体情况设置。

<strong>windows</strong>配置

如果你在windows下通过工具连接,可以设置为

secureCRT:选项---终端---反空闲 中设置每隔多少秒发送一个字符串,或者是NO-OP协议包

putty

Modifier les configurations liées au serveur

<strong>$TMOUT</strong>Variables d'environnement système

rrreee<strong>sshd </strong>Configuration du servicerrreee

Modifier la configuration liée au client

Script de connexion🎜rrreee🎜🎜Un espace sera automatiquement saisi toutes les 300 secondes (x20) , l'intervalle de temps spécifique peut être défini en fonction de la situation spécifique. 🎜🎜🎜<strong>windows</strong>Configuration🎜🎜Si vous vous connectez via des outils sous windows, vous pouvez le définir sur 🎜🎜 secureCRT : Options---Terminal---Anti-inactivité, définissez le nombre de secondes pour envoyer une chaîne, ou le package de protocole NO-OP 🎜🎜putty:putty -> Connexion -> Secondes entre les keepalives (0 pour désactiver), la valeur par défaut est 0, passez à 300. 🎜🎜Apprentissage recommandé : 🎜Tutoriel vidéo Linux🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer