Chaque fois que PuTTY
ferme la session après un certain temps si elle est inactive.
Il n'y a pas de paramètre time
sur PuTTY, alors comment garder ma session PuTTY
ssh toujours vivante?
Une autre chose à vérifier est de savoir 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
S'il est défini, vous pouvez le modifier ou le désactiver. Pour modifier 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 fonction:
unset TMOUT
Remarque: il se peut que votre administrateur système ait défini cela 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.
Activer la persistance SSH en changeant le paramètre suivant en une valeur positive:
Une valeur de 300 devrait suffire dans la plupart des cas. (5 minutes.) Cela oblige PuTTY à envoyer périodiquement des paquets Nuls SSH à l'hôte distant, afin que la session n'expire pas.
Notez que nous ne voulons pas le SO_KEEPALIVE
option plus bas sur cette page. C'est beaucoup mécanisme de niveau inférieur qui est mieux utilisé uniquement lorsque le protocole de niveau application n'a pas son propre mécanisme de conservation. SSH le fait, nous ne devons donc pas utiliser TCP keepalives dans ce cas.
Il y a d'autres choses qui peuvent entraîner une interruption des connexions, mais c'est une première chose solide à essayer. Si cela ne fonctionne pas, vous devrez examiner ces autres choses: délais d'attente VPN, délais d'attente du routeur, changements de paramètres sur le serveur SSH distant, connexions instables, etc.
En plus des autres réponses, je suggérerais d'exécuter screen
pour pouvoir avoir la gestion de session même si PuTTY se termine (connexion en cours, vpn en panne, etc.).
Exécutez simplement ceci sur votre PuTTY, assurez-vous d'activer votre session toutes les 10 minutes.
while true; do date; sleep 600; done
Vous pouvez utiliser la commande top
dans l'invite du shell. Cela gardera votre session en vie.
Dans le menu PuTTY Connection>SSH
, Utilisez la valeur suivante comme Remote command:
bash --rcfile <(echo 'source ~/.bash_profile; unset TMOUT')
.
Si rien de ce qui précède n'a aidé,
Vous devez changer les configurations de votre système sshd!
NOTEZ QUE VOUS AUREZ BESOIN DE PERMISSIONS ROOT POUR CELA!
Modifiez votre sshd_config
fichier, dans mon cas, il se trouvait /etc/ssh/sshd_config
le contenu était:
ClientAliveInterval 300
ClientAliveCountMax 0
changer en:
ClientAliveInterval 6000
ClientAliveCountMax 3
N'oublie pas
service sshd restart