Description
Ahhh, les joies de SSH, n’est-ce pas ?!
- Ce matin, vous vous levez, vous cherchez à vous connecter à votre serveur… et très rapidement, vous vous faites déconnecter avec ce, pas joli du tout, message : Write Failed: broken pipe. Vous vous reconnectez, et rebelote !!!
Informations
Il y a plusieurs raisons possibles à ce genre de déconnexions intempestives, et fortement désagréables, et aucunes de particulières.
Configuration
De fait, il existe trois options SSH à configurer qui permettent
d’améliorer sensiblement la tenue de la connexion, dont une
TCPKeepAlive yes
qui peut être paramétrée côté serveur et
côté client !
Côté serveur
Ouvrez votre fichier /etc/ssh/sshd_config
, et rajoutez ces deux options
:
ClientAliveInterval
: est le nombre de secondes pendant lequel le serveur va attendre avant d’envoyer un paquet null au client - le but étant de garder la connexion vivante.ClientAliveCountMax
: est la limite donnée à un client pendant lequel il est autorisé à ne pas donner de réponse, sans se faire déconnecter - sa valeur par défaut est :3
Côté client
Ouvrez votre fichier ~/.ssh/config
, et ajoutez ces deux options
correspondantes :
ServerAliveInterval
: est le nombre de secondes pendant lequel le client va attendre avant d’envoyer un paquet null au serveur - le but étant toujours de garder vivante la connexion.ServerAliveCountMax
: valeur par défaut est de :3
Explications
Ces options ont pour propos de maintenir la connexion en vie ; le processus est le suivant :
- Quand le timing relatif aux options
ClientAliveInterval
etServerAliveInterval
est arrivé à son terme, un signal “<span lang="en">
hello-are-you-there</span>
” est envoyé… - le paramétrage des options
ClientAliveCountMax
etServerAliveCountMax
est le nombre de fois où ce signal “hello” va être envoyé. - S’il n’y a pas de réponse de l’un ou de l’autre au final, la connexion se fermera.
Le calcul est très simple : ClientAliveInterval
x ClientAliveCountMax
secondes, côté serveur, et réciproquement pour les options “Server”, côté client.
0
ses options les désactivent !Cela devrait améliorer la situation, mais ne la résout pas forcément !
Très utile avec l’usage du fameux projet SSLH - le multiplexeur de connexion HTTPS/SS(H|L)/VPN, etc…