Une session PuTTY laissée inactive se déconnectera à une heure déterminée par le serveur hôte. Essayez d'activer la persistance dans PuTTY. Cela oblige PuTTY à envoyer périodiquement des paquets SSH nuls à l'hôte distant, empêchant la session de se terminer.
Le client PuTTY peut être configuré pour toujours établir une connexion qui n'expirera pas en raison de l'inactivité. Pour créer et enregistrer une nouvelle connexion persistante, procédez comme suit:
Ouvrez l'application PuTTY et accédez au panneau Options (étiqueté "Catégorie") à gauche de la fenêtre.
Sélectionnez (cliquez) l'élément "Connexion".
Dans la zone "Envoi de paquets nuls pour maintenir la session active" sur la droite, modifiez la valeur par défaut de "Secondes entre keepalives" de 0 (désactivée) à 1800 (30 minutes).
Cochez la case "Activer les keepalives TCP (option SO_KEEPALIVE)". Remarque: Cette option peut ne pas être disponible dans les anciennes versions du client PuTTY.
Dans le coin supérieur gauche du panneau Options, sélectionnez (cliquez) "Session".
Dans le champ "Nom d'hôte (ou adresse IP)", entrez le nom d'hôte ou l'adresse IP de destination (par exemple, "destination.ipaddress.here.com" ou "192.168.1.1").
Dans la zone de saisie de texte "Sessions enregistrées", indiquez un nom pour la session (par exemple, "session de sauvegarde").
Sélectionnez "Enregistrer".
Pour utiliser les paramètres de session modifiés, sélectionnez-le dans la liste "Sessions enregistrées", puis cliquez sur les boutons marqués "Charger" et "Ouvrir".
Si vos sessions connectées expirent toujours, entrez un nombre de secondes inférieur dans la valeur "Secondes entre les Keepalives".
Ceci est également incorrect. Une connexion TCP n'expire jamais. Si le principe de bout en bout est miné par NAT ou similaire, les mappages de connexion sur ces appareils peuvent expirer. Par défaut, SSH n'expirera jamais . Sur une connexion Internet correcte, une connexion SSH inactive restera ouverte indéfiniment.
Daniel B
Ssh propose deux types de conservation: TCP keep-alives et ssh keep-alives. TCP offre un mécanisme pour fermer automatiquement les connexions considérées comme mortes en raison du délai d'expiration. Il s'agit d'activer un drapeau dans le socket.
Raúl Salinas-Monteagudo
J'ai baissé le nombre et je suis de retour à 0 et ne fonctionnerai toujours pas. Existe-t-il une solution différente à cela?
yourselfmiqdad
1
Le serveur aurait pu être durci. La raison pourrait être a) l'adresse IP du client peut ne pas être configurée dans / etc / allowhosts et / ou b) la règle de pare-feu unix / linux / selinux ne le permet pas.
J'ai eu le même problème pendant longtemps, j'utilise du mastic pour se connecter aux instances AWS linux (certains serveurs cloud distants). J'ai lu comment le réparer avec keepAlives en plusieurs pages plusieurs pages, j'ai essayé mais en vain.
En plus d'ajuster les couleurs du terminal, il applique des valeurs par défaut saines (comme les KeepAlives susmentionnées à 59 secondes et plus), et devinez quoi? Je n'ai pas eu de connexion fermée pendant deux jours entiers.
Vous étiez inactif plus longtemps que le délai d'expiration de la session sur le périphérique distant, il a donc fermé la session et PuTTy ne s'y attendait pas.
Pas exactement, cependant: si vous vous déconnectez (ou si vous êtes déconnecté de force), la connexion se termine normalement. Ce qui s'est passé ici, c'est que la connexion TCP sous-jacente a été en quelque sorte fermée («Connexion réinitialisée par l'homologue»), donc «de manière inattendue».
Daniel B
Où voyez-vous "réinitialiser"? Pour moi, le sens évident de "fermé de manière inattendue" est une fermeture TCP non attendue au niveau SSH, et les tests le confirment: si je quitte ou tue mon shell, j'obtiens plusieurs paquets SSH (j'assure-moi-CHANNEL_EOF, CHANNEL_CLOSED et / ou DISCONNECT) puis l'échange FIN et le pop apparaissent "fermés par l'hôte distant"; OTOH si je tue -9 mon sshd, je ne reçois que l'échange TCP FIN et "connexion réseau inattendue fermée du serveur". Si c'était RST (et pas à SYN où cela signifie refusé), je soupçonnerais un boîtier de médiation, conforme à votre autre commentaire.
dave_thompson_085
@ dave_thompson_085 Vous avez raison, j'ai confondu FIN et RST. Sinon, KiTTY indique «Le logiciel a causé l'abandon de la connexion».
Le serveur aurait pu être durci. La raison pourrait être a) l'adresse IP du client peut ne pas être configurée dans / etc / allowhosts et / ou b) la règle de pare-feu unix / linux / selinux ne le permet pas.
la source
J'ai eu le même problème pendant longtemps, j'utilise du mastic pour se connecter aux instances AWS linux (certains serveurs cloud distants). J'ai lu comment le réparer avec keepAlives en plusieurs pages plusieurs pages, j'ai essayé mais en vain.
Et hier, en cherchant des paramètres de jeu de couleurs, j'ai trouvé ceci: https://github.com/jblaine/solarized-and-modern-putty
En plus d'ajuster les couleurs du terminal, il applique des valeurs par défaut saines (comme les KeepAlives susmentionnées à 59 secondes et plus), et devinez quoi? Je n'ai pas eu de connexion fermée pendant deux jours entiers.
la source
Vous étiez inactif plus longtemps que le délai d'expiration de la session sur le périphérique distant, il a donc fermé la session et PuTTy ne s'y attendait pas.
la source