Comment maintenir la connexion SSH en vie?

11

Comment puis-je conserver une connexion SSH active sans l'utiliser activement. Quand je l'utilise, cela fonctionne bien, mais quand je ne l'utilise pas pendant quelques minutes, il se déconnecte. Comme je reçois un e-mail chaque fois que je me connecte, comment puis-je maintenir la session SSH en vie?

Remarque: Dans mon .ssh/configdossier, en haut, j'ai

Host *
ServerAliveInterval 3

mais cela ne semble pas fonctionner.

NerdOfLinux
la source
Quel client ssh? 3 est trop court, utilisez un intervalle de 60. Vous pouvez également le mettre dans / etc / ssh / ssh_config si vous avez un accès root.
Panther
*devrait être tous, non?
NerdOfLinux
Je ne pense pas que cela fonctionne avec PuTTY
Panther
1
Vérifiez l'url suivante pour les instructions PuTTy a2hosting.com/kb/getting-started-guide/accessing-your-account/…
Haitham A. El-Ghareeb

Réponses:

10

Vous devez spécifier le nombre d'essais et l'intervalle d'envoi d'un paquet au serveur. Vous pouvez mettre les lignes suivantes dans votre .ssh/configfichier:

Host examplehost
    Hostname examplehost.com
    ServerAliveInterval 180
    ServerAliveCountMax 2

Cela enverra un paquet au serveur toutes les 180 secondes (3 minutes) et il essaiera deux fois avant de fermer la connexion après avoir obtenu aucune réponse du client.

Peshmerge
la source
2
J'ai complètement oublié le ServerAliveCountMax, ce qui a probablement résolu mon problème.
NerdOfLinux
4

Sur les systèmes d'exploitation Linux et Apple Mac OS X, le ~/.ssh/configfichier vous permet de spécifier de nombreux paramètres SSH, y compris ceux qui maintiennent en vie une connexion SSH. Pour le faire, suivez ces étapes:

  1. Utilisez votre éditeur de texte préféré pour ouvrir le ~/.ssh/configfichier sur votre ordinateur local. Remarque: Si le .sshrépertoire ou le fichier de configuration n'existe pas, créez-les.

  2. Ajoutez les lignes suivantes au fichier de configuration. La valeur Host peut être le nom de votre choix; c'est simplement une étiquette pour les autres paramètres. La valeur Hostname est l'hôte distant auquel vous souhaitez accéder; remplacez example.com par votre nom de domaine. Remplacez le nom d' utilisateur par votre propre nom d'utilisateur de compte d'hébergement:


    Host example
        Hostname example.com
        Port 7822
        User username
        ServerAliveInterval 240
        ServerAliveCountMax 2

Avec cette configuration, le client SSH envoie un paquet au serveur toutes les 240 secondes (4 minutes) pour maintenir la connexion active. Si le client ne reçoit pas de réponse après deux essais (comme spécifié par le paramètre ServerAliveCountMax), il ferme la connexion.

Pour des informations détaillées sur tous les paramètres de configuration SSH disponibles, tapez man ssh_configsur la ligne de commande.

  1. Enregistrez les modifications dans le fichier de configuration.

  2. Connectez-vous à votre compte en utilisant SSH. Pour ce faire, tapez simplement ssh example où example représente la valeur Host que vous avez spécifiée à l'étape 2.

Surveillez la connexion. S'il baisse toujours, diminuez progressivement le ServerAliveIntervalparamètre dans le fichier de configuration jusqu'à ce que la connexion soit stable.

Vérifiez l'url suivante pour plus de détails https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive

Haitham A. El-Ghareeb
la source
4

Vous pouvez également ajouter ces arguments dans la commande ssh, comme ceci ...

ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST
trueCamelType
la source