Quel CMS choisir pour une liberté totale de développement ?
/https://medias.yama-cms.com/fbe88647624e76d5bcdec2d0e89dc506/2025-07/686fbe7089f2a187481898.png)
C’est un cas un peu particulier, mais on veut parfois ouvrir plusieurs connexions SSH vers un même serveur ; et parfois, ouvrir ces connexions (ou les garder ouvertes) a un coût.
Par exemple, je suis en train d’écrire un script tout pourri qui envoie des fichiers via rsync
, puis se connecte via SSH pour lancer quelques commandes. Chaque ouverture de connexion prend ~3 secondes, et je lance ce script plusieurs fois d’affilée — donc à chaque fois, j’attends 6 secondes pour pas grand chose.
SSH permet de multiplexer plusieurs connexions à travers un seul socket, soit manuellement, soit automatiquement via quelques options de configuration. Dans mon cas, ça me permet d’attendre une fois 3 secondes, puis toutes les connexions suivantes passent par la même connexion, donc plus d’attente.
-f
met la connexion en background-N
n’exécute rien sur le serveur distant (pas de shell, pas de commande, rien)-M
met la connexion en mode “Master”-S
spécifie le chemin du socket utilisé pour partager la connexionssh -N -f -M -S ~/.ssh/cm-socket debian@example.com
Puis, dans un autre terminal, on peut ouvrir une nouvelle connexion via le socket (avec l’option -S
à nouveau) :
ssh -S ~/.ssh/cm-socket debian@example.com
En bonus, on peut aussi l’utiliser avec rsync en ajoutant cette option :
rsync -e "ssh -o ControlPath=~/.ssh/cm-socket" ...
Une fois fini, on peut fermer le socket avec :
ssh -S ~/.ssh/cm-socket -O exit debian@example.com
~/.ssh/config
On déclare un host avec ces options :
Host example.com
HostName example.com
User debian
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 10m
Et puis SSH s’occupe de tout.