Certains routeurs trop zélés aiment abandonner les connexions TCP qui sont inactives trop longtemps (c'est-à-dire qui ne transmettent aucune donnée). Cela peut être dû au fait qu'ils supposent que l'utilisateur n'utilise que des éléments tels que HTTP, où la connexion est souvent fermée après la fin d'une seule requête.
En supposant OpenSSH, utilisez le ClientAliveInterval
et ClientAliveCountMax
directives en sshd_config
, ou de manière équivalente ServerAliveInterval
et ServerAliveCountMax
dans la configuration côté client (~/.ssh/config
ou /etc/ssh/ssh_config
) pour activer les paquets keepalive au niveau du protocole.
Ils sont en fait destinés à détecter si l'hôte distant est parti, mais comme ils provoquent l'envoi de messages lorsque la connexion est autrement inactive, ils empêchent également que la connexion soit considérée comme inactive par des appareils externes.
*AliveInterval
intervalle après lequel le client/serveur envoie une requête à la télécommande, et *AliveCountMax
définit le nombre de requêtes sans réponse après lesquelles le client/serveur abandonne la connexion comme inactive.
Quelque chose comme ces valeurs devrait faire :
ClientAliveInterval 15
ClientAliveCountMax 4