Pour des sessions SSH qui durent
Qui n'a jamais été irrité de voir une session SSH "bloquée" car laissée sans activité ?
Qui n'a jamais eu son système bloqué pendant quelques instants car un montage de système de fichiers via SSH avait été déconnecté faute, là aussi, d'activité ?
À ce fléau qu'est la déconnexion intempestive, une solution existe, et elle est très simple : il suffisait de lire le man...
Le client SSH, peut envoyer des paquets "keep-alive" à intervalles réguliers lors de la session. Lorsque le serveur reçoit ces paquets, il sait que, bien que le client ne génère pas d'activité, il faut garder la connexion active. De même, le serveur SSH, peut lui aussi envoyer ces paquets... sauf que, par défaut, ils ne le font pas. Pour les forcer à le faire, il suffit d'éditer les fichiers de configuration du client et/ou du serveur, selon à quoi on a accès et selon ce qu'on veut faire. Le mieux est de se contenter du client lorsque c'est possible, évidement.
Pour activer la fonction coté client, écrire :
Host *
ServerAliveInterval 60
dans "~/.ssh/config" (créer le fichier au besoin) pour appliquer à son propre utilisateur ou dans "/etc/ssh/ssh_config" pour l'activer sur tout le système, ou alors en en argument de l'option "-o" lors de l'appel à "ssh".
Coté serveur, même chose, mais l'option s'appelle "ClientAliveInterval".
"Host *" activera l'option sur tous les hôtes, mais vous pourriez utiliser un hote spécifique et créer ainsi une règle pour chaque hôte... le "60" indiquant "60 secondes", mais vous pourriez indiquer plus ou moins selon vos besoins.








Très pratique effectivement, ca se configure également très facilement dans le client SSHnuke