J'ai une question à laquelle je n'ai pas pu trouver de réponse. J'ai deux ordinateurs, qui exécutent tous les deux Ubuntu 12.04. Je garde un de mes ordinateurs à la maison et j'utilise SSH pour me connecter à l'autre ordinateur ("distant"). L'ordinateur distant peut se connecter sans problème à l'ordinateur domestique. L'ordinateur distant a également SetAliveInterval défini sur 60 dans / etc / ssh / ssh_config, afin que la connexion ne s'éteigne pas si je m'éloigne de l'ordinateur pendant un moment.
Parfois, ma connexion Internet sur mon ordinateur distant est interrompue. Les interruptions Internet provoquent la fermeture de mon tunnel SSH (bien sûr). Cependant, lorsque je rétablis la connectivité Internet et me reconnecte à l'ordinateur domestique à l'aide d'un nouveau tunnel SSH, je peux voir #ps ax
que l'ancien processus de connexion SSH est toujours en cours d'exécution. C'est un problème parce que j'utilise un répertoire personnel chiffré sur l'ordinateur personnel, ce qui ne permet pas de rechiffrer les fichiers jusqu'à ce que cette connexion SSH (maintenant morte) soit supprimée.
Existe-t-il un moyen de définir sshd_config sur l'ordinateur domestique afin qu'il détecte automatiquement la fin d'une connexion et la termine?
Vous pouvez essayer mosh , un remplacement de SSH construit sur SSH. Il prend en charge l'itinérance et la connectivité intermittente, de sorte que votre session Mosh (SSH) continuerait simplement là où vous l'aviez interrompue chaque fois que votre connexion Internet est rétablie après une interruption.
Vous devrez installer Mosh sur les deux machines.
Références:
la source