Lorsque je suis connecté à l'un de nos serveurs de bureau (qui exécutent Fedora 10) depuis chez moi, ma session expire après une période d'activité assez courte (environ 5 minutes). J'ai essayé d'utiliser TcpKeepAlive
du côté client, sans résultat.
Ce que je ne comprends pas, c'est que si je suis au bureau sur le réseau local de l'entreprise, je peux laisser une session inactive toute la journée sans que cela ne se termine, donc le comportement semble dépendre de mon emplacement.
Des idées pourquoi cela se produit et comment éviter les délais d'attente lorsque je ne suis pas sur le réseau local? J'utilise le client Terminal sur Mac OSX si cela aide.
MISE À JOUR - La suggestion de Dave Drager d'utiliser l' ServerAliveInterval
ensemble avec une valeur non nulle a TcpKeepAlive=no
fonctionné pour moi. Concernant certaines des autres réponses, les ClientAlive
... paramètres ne sont pas acceptés par le client Mac OSX SSH.
C'est probablement parce que lorsque vous vous connectez depuis votre domicile, vous passez par un pare-feu qui ferme la session TCP après un petit laps de temps. Mais TcpKeepAlive devrait éviter cela. Avez-vous activé TcpKeepAlive côté client ou côté serveur?
la source
Je reçois cela tout le temps sur ma connexion Comcast. Le problème est que l'intervalle de maintien en vie de votre client SSH est trop long pour le délai configuré dans votre chemin réseau. Si vous êtes sous Linux, vous pouvez modifier les valeurs
ServerAliveInterval
etServerAliveCounter
pour qu'elles soient inférieures à leurs valeurs par défaut. Cette valeur est définie en secondes. Le fichier de configuration à l'échelle du système se trouve (généralement) dans/etc/ssh/ssh_config
. La définition de ces deux ETTcpKeepAlive
devrait aider à maintenir votre connexion.la source
Comme le dit radius, certains pare-feu à état complet «oublient» une connexion après un certain temps (généralement configurable) et ne permettent plus de communication pour la connexion; ils s'attendent à ce que la connexion démarre avec un TCP SYN (je fais référence à votre communication SSH ici).
Il y a une autre possibilité. Le chemin d'accès réseau entre votre domicile et votre bureau peut présenter des pertes (du type paquet). Lorsque vous essayez de taper sur le client SSH, si votre lien est bloqué depuis un certain temps, le client peut abandonner et échouer.
La configuration Keepalive sur le client gérera le premier cas ici mais ne peut pas aider dans le second cas. Le pare-feu se trouve généralement sur le périmètre de votre bureau et peut donc être configurable. Cela aiderait également sur le premier point.
Pour vérifier si vous rencontrez des pertes de liaison intermittentes, vous pouvez garder un «ping» actif en arrière-plan depuis votre ordinateur client.
la source
Vous pouvez également ajouter les paramètres suggérés par d'autres en tant que paramètres par défaut dans votre
~/.ssh/config
fichier, afin que vous n'ayez pas à les transmettre àssh
chaque fois que vous établissez une connexion:nano ~/.ssh/config
et ajouter:la source