Comment faire du mastic pour ne pas interrompre ma session après un certain temps?

34

Chaque fois puttyferme la session après un certain temps si elle est inactive.

Il n'y a pas de timeparamètre sur le mastic, alors comment puis-je garder ma puttysession ssh toujours vivante?

cnd
la source

Réponses:

15

Une autre chose à vérifier est si votre système définit la variable d'environnement TMOUT. Pour vérifier cela, vous pouvez simplement faire:

env | grep TMOUT

ou

echo $TMOUT

Si ce paramètre est défini, vous pouvez le modifier ou le désactiver. Pour changer la valeur:

export TMOUT=3600

Où le nombre est le nombre de secondes jusqu'à ce que vous soyez déconnecté. Sinon, désactivez-le pour désactiver la fonctionnalité:

unset TMOUT

Remarque: il se peut que votre administrateur système l'ait défini pour des raisons de sécurité. Donc, si vous n'êtes pas l'administrateur système, vous voudrez peut-être vérifier cela avant de changer quoi que ce soit vous-même.

OldTimer
la source
48

Activez les connexions persistantes SSH en modifiant le paramètre suivant en une valeur positive:

Page de connexion de la boîte de dialogue de configuration PuTTY

Une valeur de 300 devrait suffire dans la plupart des cas. (5 minutes.) Cela provoque l’envoi par PuTTY de paquets SSH null à l’hôte distant, de sorte que la session n’expire pas.

Notez que nous ne voulons pas l' SO_KEEPALIVEoption inférieure sur cette page. Il s’agit d’un mécanisme de niveau beaucoup plus bas qu’il est préférable d’utiliser uniquement lorsque le protocole au niveau de l’application n’a pas son propre mécanisme keepalive. SSH le fait, nous ne devrions donc pas utiliser le Keepalives TCP dans ce cas.

Il y a d'autres choses qui peuvent causer la perte de connexions, mais ceci est une première chose à essayer. Si cela ne fonctionne pas, vous devrez vous pencher sur d'autres éléments: délais d'attente VPN, délais des routeurs, modification des paramètres sur le serveur SSH distant, connexions flaky, etc.

Warren Young
la source
3
Vous pouvez également exécuter quelque chose qui produit une sortie continue, par exemple toplorsque vous êtes absent.
LawrenceC
1
@ultrasawblade: C’est une solution de ruban adhésif; il ne fait que traiter le symptôme mais ne résout pas le vrai problème.
Kevin M
Cette configuration s'applique-t-elle à Windows CLI? Je veux dire, au lieu de sauvegarder des sessions, je crée des liens vers putty.exe en transmettant les informations d'identification de connexion sous forme d'arguments (hôte putty.exe - racine root -pw), sinon, existe-t-il un argument pour appliquer cette option via la CLI?
Mc Kernel
3
C'est une excellente solution, en particulier lorsque vous travaillez sur une connexion instable, et que vous n'avez pas à apporter une seule modification au serveur (contrairement à la solution acceptée).
Itoctopus
Est-ce que quelqu'un sait comment spécifier cela via une ligne de commande?
Janac Meena
8

En plus des autres réponses, je suggérerais de courir screenpour pouvoir avoir la gestion de session même si le mastic se termine (connexion en train de mourir, vpn en panne, etc.).

Arcege
la source
6

Cochez l'option suivante dans PuTTY:

entrez la description de l'image ici

Franck Dernoncourt
la source
Malheureusement, SO_KEEPALIVE ne semble être envoyé que toutes les deux heures (au moins par défaut), alors un meilleur nom serait "vérifier si tout est mort" LOL
rogerdpack
3

Il suffit d’exécuter ceci sur votre mastic pour vous assurer d’activer votre session toutes les 10 minutes.

 while true; do date; sleep 600; done
KKN
la source
J'exécute toujours ceci sur mon serveur et cela ne fonctionne pas.
Cokedude
1

Si rien de ce qui précède n'a pas aidé,
vous devez modifier les configurations de votre système sshd!
NOTEZ QUE VOUS AUREZ BESOIN DE PERMISSION DE RACINES POUR CELA!

Editez votre sshd_config fichier, dans mon cas, il était situé/etc/ssh/sshd_config

le contenu était:

ClientAliveInterval 300  
ClientAliveCountMax 0

changer à:

ClientAliveInterval 6000  
ClientAliveCountMax 3

N'oublie pas

service sshd restart
salut-zir
la source
1

Vous pouvez utiliser la topcommande dans l'invite du shell. Cela gardera votre session en vie.

Piyush Agrawal
la source
Cela semble être une solution de contournement plutôt qu'une solution.
Kusalananda
@Kusalananda Je pense que les solutions de contournement peuvent aussi être des solutions.
Peter dit réintégrer Monica le
0

Dans le Connection>SSHmenu mastic , utilisez la valeur suivante comme Remote command: bash --rcfile <(echo 'source ~/.bash_profile; unset TMOUT').

psychoslave
la source