J'utilise ssh -p8520 username@remote_Host
pour me connecter au serveur distant.
Problème:
Il est toujours connecté et fonctionne correctement lorsque je suis au travail. Malheureusement, le terminal se bloque 10 à 15 minutes après que je me suis connecté au serveur distant de chez moi.
Il n'y a pas de rapport d'erreur/délai d'attente sur la console, mais le curseur ne peut plus bouger.
Quand entrer w pour vérifier les utilisateurs de connexion, certains utilisateurs de connexion zombies sont là, et je dois les tuer manuellement.
C'est assez ennuyant. Quelqu'un peut-il m'aider?
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 à cet effet est dans le fichier $HOME/.ssh/config
, créez-le si le fichier de configuration n'existe pas. Pour envoyer le signal toutes les quatre minutes (240 secondes) à l'hôte distant, définissez le fichier de configuration suivant:
Host remotehost:
HostName remotehost.com
ServerAliveInterval 240
Pour activer l'envoi d'un signal persistant pour tous les hôtes, placez le contenu suivant dans le fichier de configuration:
Host *
ServerAliveInterval 240
Le fichier de configuration ne doit pas être lisible par tout le monde, alors lancez:
chmod 600 ~/.ssh/config
Je voulais une solution ponctuelle:
ssh -o ServerAliveInterval=60 [email protected]
Le stocké dans un alias:
alias sshprod='ssh -v -o ServerAliveInterval=60 [email protected]'
Maintenant, vous pouvez vous connecter comme ceci:
me@MyMachine:~$ sshprod
Pour ceux qui se demandent, @ edward-coast
Si vous voulez définir le maintien en vie pour le serveur , ajoutez ceci à /etc/ssh/sshd_config
:
ClientAliveInterval 60
ClientAliveCountMax 2
ClientAliveInterval : définit un intervalle de délai en secondes à l'issue duquel, 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 du client.
ClientAliveCountMax : définit le nombre de messages actifs du client (voir ci-dessous) pouvant être envoyés sans que sshd (8) ne reçoive de messages du client. Si ce seuil est atteint pendant l'envoi des messages actifs du client, sshd le déconnectera, mettant ainsi fin à la session.
Nous pouvons garder notre connexion SSH en ayant les configurations globales suivantes
Ajoutez la ligne suivante au fichier /etc/ssh/ssh_config
:
ServerAliveInterval 60