GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment empêcher la session SSH d'être expirée

Le serveur ssh Linux ne déconnecte jamais la session ssh du côté serveur par défaut, vérifiez la configuration du commutateur/routeur/pare-feu pour éviter le problème sans modifier la configuration des serveurs/clients ssh. Si la session ssh est déconnectée en raison d'une inactivité et que l'on souhaite l'arrêter, veuillez suivre les étapes ci-dessous, côté client ou côté serveur, comme décrit ci-dessous :

Paramètres côté client

Pour activer le keep alive à l'échelle du système (accès root requis), modifiez le fichier de configuration /etc/ssh/ssh_config . De même, pour définir les paramètres d'un utilisateur spécifique uniquement, modifiez ~/.ssh/config (créez le fichier s'il n'existe pas). Insérez ce qui suit :

Host *
ServerAliveInterval 300
ServerAliveCountMax 2

Ces paramètres obligeront le client ou le serveur SSH à envoyer un paquet nul de l'autre côté toutes les 300 secondes (5 minutes) et à abandonner s'il ne reçoit aucune réponse après 2 tentatives, moment auquel la connexion est susceptible d'avoir été jeté de toute façon.

À partir de la page de manuel ssh_config :

ServerAliveCountMax :

Définit le nombre de messages actifs du serveur (voir ci-dessous) qui peuvent être envoyés sans que ssh(1) ne reçoive aucun message du serveur. Si ce seuil est atteint alors que des messages de serveur actif sont envoyés, ssh se déconnectera du serveur, mettant fin à la session. Il est important de noter que l'utilisation des messages server alive est très différente de TCPKeepAlive (ci-dessous). Les messages actifs du serveur sont envoyés via le canal crypté et ne seront donc pas usurpables. L'option TCP keepalive activée par TCPKeepAlive est usurpable. Le mécanisme de serveur actif est utile lorsque le client ou le serveur dépend de savoir quand une connexion est devenue inactive.

La valeur par défaut est 3. Si, par exemple, ServerAliveInterval (voir ci-dessous) est défini sur 15 et que ServerAliveCountMax est laissé à la valeur par défaut, si le serveur ne répond plus, ssh se déconnectera après environ 45 secondes. Cette option s'applique uniquement à la version 2 du protocole; dans la version 1 du protocole, il n'y a pas de mécanisme pour demander une réponse du serveur aux messages de serveur actif, donc la déconnexion est de la responsabilité de la pile TCP.

ServerAliveInterval :

Définit un intervalle de temporisation en secondes après lequel si aucune donnée n'a été reçue du serveur, ssh(1) enverra un message via le canal crypté pour demander une réponse au serveur. La valeur par défaut est 0, indiquant que ces messages ne seront pas envoyés au serveur, ou 300 si l'option BatchMode est définie. Cette option s'applique uniquement à la version 2 du protocole. ProtocolKeepAlives et SetupTimeOut sont des alias de compatibilité spécifiques à Debian pour cette option.

Paramètre côté serveur

Si vous disposez d'un accès administrateur au serveur, vous pouvez configurer les options ClientAliveInterval, TCPKeepAlive et ClientAliveCountMax dans le fichier de configuration SSHd. Le chemin du fichier est /etc/ssh/sshd_config

# vi /etc/ssh/sshd_config
ClientAliveInterval 30
TCPKeepAlive yes 
ClientAliveCountMax 99999

Vous devrez redémarrer le serveur SSH pour que les modifications prennent effet.

# service sshd restart


Cent OS
  1. Comment mettre à niveau d'openSUSE 13.1 vers openSUSE 13.2

  2. Comment SSH sur Linux à partir d'Android

  3. Comment exécuter l'analyse ClamAV à partir de SSH sur le serveur cPanel ?

  4. Comment créer une bannière SSH dans le serveur CentOS/RHEL

  5. Comment forcer le détachement de Screen d'une autre session SSH ?

Comment activer SSH sur openSUSE

Comment se déconnecter d'une session Ubuntu [Astuce du débutant]

Comment activer le serveur SSH sur Ubuntu 22.04

Comment migrer de CentOS 8 vers CentOS Stream Server :

Comment déconnecter un utilisateur de SSH sous Linux

Comment se connecter en SSH à votre serveur Linux à partir de Windows