Même s'il ne s'agit pas d'une réponse directe à votre question, elle est très liée au problème que vous rencontrez. Au lieu d'essayer de maintenir la connexion en vie (toutes les connexions finissent par mourir), vous pouvez utiliser des multiplexeurs de terminaux, par exemple screen
y tmux
qui maintiennent la session en vie en arrière-plan même si votre terminal est déconnecté.
Essentiellement, lorsque vous vous connectez au serveur SSH, vous exécutez immédiatement screen
qui créera et attachera une nouvelle session :
$ screen
Ensuite, vous allez de l'avant et faites votre travail avec le Shell comme vous le feriez normalement. Maintenant, si la connexion est interrompue, lorsque vous pouvez vous remettre en ligne et vous reconnecter au serveur par SSH, vous obtenez une liste des sessions actuelles avec :
$ screen -ls
Pour se rattacher à une session :
$ screen -r <session>
où <session>
est le PID ou un nom de session. Vous serez reconnecté à votre session et vous pourrez continuer là où vous vous êtes arrêté !
Vous pouvez même détacher la session et vous reconnecter depuis chez vous pour reprendre exactement là où vous vous étiez arrêté. Pour détacher la session, utilisez C-a
suivi par C-d
(que Control + A
y luego Control + D
).
Il y a tutoriel en ligne simple auch.
Utilisation de screen
y tmux
sur des serveurs distants est considéré comme un meilleure pratique et est hautement recommandé . Certaines personnes vont jusqu'à avoir screen
comme leur login par défaut Shell, donc quand ils se connectent ils commencent immédiatement une nouvelle screen
session.
0 votes
Duplicata possible de Comment maintenir un tunnel SSH ouvert de manière fiable ?