Laisser un commentaire

Empêcher les timeout ssh

Lorsqu’on est connecté en ssh à un ordinateur distant et qu’on laisse la connexion inactive pendant un certain temps, il arrive que l’on soit déconnecté. On se retrouve alors avec un message du style :

Read from remote host buzut.fr: Connection reset by peer Connection to buzut.fr closed.

Voyons comment résoudre ce problème.

Deux approches permettent de contourner ce désagrément : l’approche serveur, et l’approche cliente.

Serveur

Si vous avez un accès administrateur au serveur, il est possible de configurer ClientAliveInterval et ClientAliveCountMax.

Il existe bien un paramètre TCPKeepAlive, mais il fonctionne sur la couche transport et non sur la couche applicative. C’est donc un petit peu moins fiable [en] et on préférera le désactiver au profit de ClientAliveInterval ou ClientAliveCountMax.

On va donc ajouter les lignes suivantes à /etc/ssh/sshd_config :

ClientAliveInterval 600
ClientAliveCountMax 0

On redémarre ensuite le serveur en faisant service ssh restart.

Client

Cette solution est très pratique si l’on a pas un accès root à la machine. Il va s’agir d’utiliser la directive ServerAliveInterval. Cette dernière va faire en sorte que le client envoie toutes les x secondes une requête au serveur ssh pour lui signaler qu’il est toujours en vie. Ainsi, on évite la déconnexion par timeout. On ouvre donc /etc/ssh/ssh_config sur notre client et on y ajoute la ligne suivante :

ServerAliveInterval 120

Votre ssh ne devrait désormais plus se couper lors de vos poses cafés ;)

Commentaires

Rejoignez la discussion !

Vous pouvez utiliser Markdown pour les liens [ancre de lien](url), la mise en *italique* et en **gras**. Enfin pour le code, vous pouvez utiliser la syntaxe `inline` et la syntaxe bloc

```
ceci est un bloc
de code
```