Le timeout SSH dû à l’inactivité est ennuyeux. Voici comment garder vos sessions SSH en vie et prévenir le timeout SSH:
En envoyant un « paquet nul » entre le client et le serveur à un intervalle spécifié qui est plus petit que la valeur du timeout, nous pouvons éviter le timeout SSH. Peu importe si le paquet est envoyé depuis le client ou le serveur, tant qu’il y a une communication en cours entre les deux.
Si vous configurez votre client SSH pour envoyer les « paquets nuls », vous éviterez un dépassement de délai SSH sur toutes les connexions SSH que vous faites depuis votre ordinateur. Si vous êtes ennuyé par le fait que vos propres sessions SSH se terminent au bout du compte lorsque vous êtes connecté à des serveurs, c’est ce que vous voulez faire.
Si vos clients (clients, utilisateurs, enfants) en ont assez du timeout SSH, vous pouvez soit les instruire sur la façon de configurer leurs clients SSH – comme en leur indiquant cet article – ou vous pouvez configurer le serveur lui-même pour éviter le timeout de la session SSH. Pour ce faire, vous configurez le serveur SSH pour qu’il envoie les « paquets nuls », et vous empêcherez un dépassement de délai sur toutes les connexions SSH que chaque client établit avec le serveur.
Heureusement, les configurations ne sont pas exclusives, donc vous pouvez configurer à la fois votre client et tous vos serveurs et tout fonctionnera sans problème.
Prévenir le timeout SSH du côté client
Si vous êtes sur Mac ou Linux, vous pouvez modifier votre fichier de configuration SSH local dans ~/.ssh/config
et ajouter la ligne suivante :
ServerAliveInterval 120
Cela enverra un « paquet nul » toutes les 120 secondes sur vos connexions SSH pour les garder en vie.
Prévenir le timeout SSH du côté du serveur
Si vous êtes un administrateur de serveur, vous pouvez ajouter ce qui suit à la configuration de votre démon SSH dans /etc/ssh/sshd_config
sur vos serveurs pour empêcher les clients de passer le temps – ainsi ils n’ont pas à modifier leur configuration SSH locale :
ClientAliveInterval 120ClientAliveCountMax 720
Ceci fera en sorte que le serveur envoie aux clients un « paquet nul » toutes les 120 secondes et ne les déconnectera pas avant que le client ait été inactif pendant 720 intervalles (120 secondes * 720 = 86400 secondes = 24 heures).