Article

Des sessions tmux qui survivent aux coupures SSH

Sat Oct 24 · devops · linux · terminal

SSH coupe. Le laptop s’endort. Le VPN clignote. Sans multiplexeur, un long déploiement ou un terraform apply meurt avec le terminal. tmux garde le processus vivant sur la machine distante : tu te reconnectes et tu continues.

Layout tmux avec panes apply, logs et notes

Pourquoi c’est utile en prod

Sur un bastion ou un jump box, tu as souvent besoin :

  • d’une session pour les logs, une pour l’apply, une pour les notes
  • d’un layout que tu rouvres le lendemain
  • de ne pas dépendre de ton laptop allumé

tmux offre des sessions nommées, des fenêtres et des panes côté serveur.

Workflow minimal

Connexion SSH, puis :

# démarrer une session nommée
tmux new -s deploy

# plus tard, depuis une nouvelle connexion SSH
tmux attach -t deploy

# lister ce qui tourne
tmux ls

Dans tmux, le préfixe est Ctrl-b (tu appuies, tu relâches, puis la touche de commande) :

Touches Action
Ctrl-b d Détacher (les processus continuent)
Ctrl-b c Nouvelle fenêtre
Ctrl-b n / p Fenêtre suivante / précédente
Ctrl-b % Split vertical
Ctrl-b " Split horizontal
Ctrl-b flèches Naviguer entre les panes

Détache avant de fermer le laptop. Ré-attache au retour.

Un layout qui tient

Un défaut utile pour une fenêtre de change :

  1. Fenêtre 0 : éditeur ou notes
  2. Fenêtre 1 : apply / script
  3. Fenêtre 2 : journalctl -f ou queue CloudWatch
tmux new -s change -d
tmux rename-window -t change:0 notes
tmux new-window -t change -n apply
tmux new-window -t change -n logs
tmux attach -t change

Garde-fous

  • Préfère des sessions nommées (deploy, incident-42) aux sessions anonymes.
  • Attention aux secrets dans l’historique d’un shell partagé.
  • Sur un bastion partagé, alignez-vous sur les noms de session pour ne pas t’attacher au travail de quelqu’un d’autre.

À retenir

tmux n’est pas un gadget de productivité. C’est une petite couche de fiabilité entre toi et un réseau fragile. Crée une session nommée, détache sans crainte, ré-attache quand le lien revient.

Recrutez-moiTravailler avec moi