Le multiplexage SSH permet de réutiliser une connexion existante pour ouvrir de nouvelles sessions instantanément, ce qui améliore considérablement la réactivité lors de la gestion de plusieurs serveurs.
Prérequis
- Client OpenSSH version >= 6.7
- Serveur SSH accessible
- Pas de conflit sur le chemin des sockets dans
~/.ssh
Configuration de base
Ajoutez dans ~/.ssh/config
:
Host *
ControlMaster auto
ControlPath ~/.ssh/control-%r@%h:%p
ControlPersist 10m
ControlMaster auto
: active le multiplexage.ControlPath
: définit le socket de contrôle.ControlPersist
: durée de maintien de la connexion (ex. 10 minutes).
Vérification
- Ouvrez la première connexion :
ssh user@serveur
- Dans un nouveau terminal, lancez une seconde connexion :
La réponse doit être quasi instantanée, sans échange d’authentification.ssh user@serveur
Cas d’usage avancé
Hôtes spécifiques
Pour une configuration dédiée :
Host db-server
HostName db.example.com
User dbadmin
ControlMaster auto
ControlPath ~/.ssh/cm-%h-%p.sock
ControlPersist 5m
Intégration avec l’agent SSH
ForwardAgent yes
Permet d’utiliser vos clés locales sur le serveur distant.
Résolution des problèmes
- Si le multiplexage échoue, supprimez les sockets obsolètes :
rm ~/.ssh/control-*
- Vérifiez les permissions du répertoire
~/.ssh
(700) et des fichiers (600).
Conclusion
Le multiplexage SSH est une optimisation simple à mettre en œuvre, offrant un gain de temps significatif pour les administrateurs et développeurs, surtout lors de sessions répétées.