Pour ceux qui se demandent, @edward-coast
Si vous souhaitez définir le keep alive pour le serveur, ajoutez ceci à /etc/ssh/sshd_config
:
ClientAliveInterval 60
ClientAliveCountMax 2
ClientAliveInterval :Définit un intervalle de temporisation en secondes après lequel si aucune donnée n'a été reçue du client, sshd(8) enverra un message via le canal crypté pour demander une réponse au client.
ClientAliveCountMax :Définit le nombre de messages clients actifs (voir ci-dessous) qui peuvent être envoyés sans que sshd(8) ne reçoive aucun message du client. Si ce seuil est atteint alors que des messages client actifs sont envoyés, sshd déconnectera le client, mettant fin à la session.
Le démon ssh (sshd), qui s'exécute côté serveur, ferme la connexion côté serveur si le client devient silencieux (c'est-à-dire qu'il n'envoie pas d'informations). Pour éviter toute perte de connexion, demandez au client ssh d'envoyer un signal de signe de vie au serveur de temps en temps.
La configuration pour cela se trouve dans le fichier $HOME/.ssh/config
, créez le fichier s'il n'existe pas (le fichier de configuration ne doit pas être lisible par tous, alors exécutez chmod 600 ~/.ssh/config
après la création du fichier). Pour envoyer le signal par ex. quatre minutes (240 secondes) à l'hôte distant, placez ce qui suit dans ce fichier de configuration :
Host remotehost
HostName remotehost.com
ServerAliveInterval 240
Pour activer l'envoi d'un signal keep-alive pour tous les hôtes, placez le contenu suivant dans le fichier de configuration :
Host *
ServerAliveInterval 240
Je voulais une solution unique :
ssh -o ServerAliveInterval=60 [email protected]
Stocké dans un alias :
alias sshprod='ssh -v -o ServerAliveInterval=60 [email protected]'
Vous pouvez maintenant vous connecter comme ceci :
[email protected]:~$ sshprod