54 points par GN⁺ 2026-03-13 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Quand une session SSH se fige, il est possible d'effectuer divers contrôles via le menu de séquences d’échappement intégré à SSH, sans avoir à forcer l’arrêt du processus
  • Dans la session, après avoir saisi ↵Enter, entrez ~? pour afficher la liste des commandes cachées, et ~. permet de fermer immédiatement la connexion dans n’importe quelle situation
  • Ces séquences d’échappement sont intégrées au client SSH lui-même et fonctionnent même si le serveur ne répond plus ou si la connexion est rompue
  • Dans des sessions SSH imbriquées, il est possible d’utiliser ~~ pour transmettre la séquence au client interne
  • En complément, l’article présente aussi des options SSH utiles comme -C, -v et -D

Menu des séquences d’échappement SSH

  • Dans une session SSH, appuyez sur ↵Enter puis entrez ~? pour afficher la liste des séquences d’échappement prises en charge
  • Principales séquences :
    • ~. — fermer la connexion (y compris les sessions multiplexées)
    • ~B — envoyer un signal BREAK au système distant
    • ~C — ouvrir la ligne de commande (permet de configurer le port forwarding, avec help pour l’aide)
    • ~R — envoyer une demande de rekey
    • ~V/v — augmenter/réduire la verbosité (LogLevel)
    • ~^Zsuspendre SSH
    • ~# — afficher la liste des connexions redirigées
    • ~&basculer SSH en arrière-plan (lorsqu’il attend la fermeture de la connexion)
    • ~~ — envoyer le caractère d’échappement lui-même (en le tapant deux fois)
  • Ces séquences sont intégrées au client SSH lui-même, elles fonctionnent donc même si le serveur SSH ne répond pas ou si la connexion est interrompue
  • La plus utile est ~., qui permet de quitter immédiatement la session dans n’importe quelle situation lorsqu’elle est bloquée
  • Les séquences d’échappement ne sont reconnues qu’immédiatement après un saut de ligne (newline)

Utilisation dans des sessions SSH imbriquées

  • Dans un environnement imbriqué où l’on ouvre une session SSH depuis une autre session SSH, ~~ permet de transmettre la séquence au client interne
  • Exemple :
  pinkie@stable:~$ ssh ponyville        # stable  
  pinkie@ponyville:~$ ssh manehatten    # stable › ponyville  
  pinkie@manehatten: ~$                 # stable › ponyville › manehatten  
  pinkie@manehatten:~$ Connection to manehatten closed. # ↵Enter `~~.`  
  pinkie@ponyville:~$                   # stable › ponyville  
  pinkie@ponyville:~$ ssh manehatten stable › ponyville  
  pinkie@manehatten: ~$                 # stable › ponyville › manehatten  
  pinkie@manehatten:~$ Connection to ponyville closed. # ↵Enter `~.`  
  pinkie@stable:~$                      # stable  
  • En étant connecté selon le chemin stable → ponyville → manehatten
  • En saisissant ~~., seule la session la plus interne (manehatten) est fermée, puis retour à ponyville
  • En saisissant ~., la session intermédiaire (ponyville) est aussi fermée, puis retour à stable

Options SSH bonus

  • ssh -C — active la compression gzip ; la documentation indique que ce n’est pas nécessaire sur un réseau rapide, mais pour l’usage en TUI ou l’affichage de gros volumes de logs, cela améliore nettement la latence et la réactivité
  • ssh -v — active la journalisation détaillée (-vv, -vvv permettent d’afficher encore plus d’informations) ; utile pour déterminer, lors d’une connexion lente ou vers un équipement peu puissant comme un Raspberry Pi, si la connexion est réellement bloquée ou simplement très lente
  • ssh -D 1234 — crée un proxy SOCKS sur localhost:1234, permettant de passer par le réseau du serveur pour accéder à d’autres ressources ; pratique pour des opérations sur le LAN côté serveur ou comme VPN DIY simplifié

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.