J'ai un petit réseau local qui se superpose à un WiFi captif, et j'utilise ssh
sur OS X avec -oServerAliveInterval=240
et PuTTY 0.62 sur Windows 7 Professionnel pour établir des connexions avec mon Linode, Hetzner et d'autres serveurs.
Avec PuTTY, je sélectionne Connection
→ Sending of null packets to keep session active
à 240. Le Enable TCP keepalives (SO_KEEPALIVE option)
est désactivé, par défaut.
Lorsque mon Internet est temporairement hors service pendant environ une minute (je dois me réauthentifier sur le portail captif), PuTTY perd presque toujours toutes les sessions ssh ouvertes que j'ai, et en particulier celles où il y avait une activité, mais OpenSSH sur OS X ne perd jamais de sessions tant que mon Internet est sauvegardé dans environ une minute ou deux, même si j'essaie de taper quelque chose en ssh et de ne voir aucune réponse pendant 60 secondes environ, jusqu'à ce que ma connexion soit à nouveau active. (Je sais donc avec certitude que les états NAT sont toujours préservés.)
Puis-je empêcher Windows / PuTTY de supprimer de manière préventive les bonnes connexions?
Il me semble que SO_KEEPALIVE ou quelque chose de ce genre est réellement activé par défaut dans Windows, et le délai d'attente pour détecter les connexions périmées est beaucoup trop court. Je voudrais l'augmenter à quelque chose de plus que quelques secondes, de la même manière que l'OS X est immunisé contre ces brèves pannes temporaires tant que la panne n'est que de quelques centaines de secondes et est inférieure à la valeur de -oServerAliveInterval
(fois ServerAliveCountMax
).
mosh
c'est une meilleure alternative.)