3

openssh : Multiplexage de connexions

Un petit mémo sur comment configurer un client ssh pour ouvrir une nouvelle connexion sur une machine cible sans besoin de saisir à nouveau le mot de passe utilisateur.
En effet, OpenSSH peut être configuré pour faire du multiplexage de connexions sur une machine cible. En gros, toutes les connexions ssh suivantes vont passer par le premier tunnel créé lors de la première connexion.
Le multiplexage de connexions a deux gros avantages : pas besoin de saisir le mot de passe à nouveau et rapidité des nouvelles connexions.

Explication en image du multiplexage de connexions

Schéma de principe
ssh-multiplexage

Vidéo de démonstration de connexion ssh en multiplexage

Configurer OpenSSH pour le multiplexage de connexions

Pour ce faire, il faut éditer le fichier /etc/ssh/ssh_config :

sudo nano /etc/ssh/ssh_config

Ajouter ces lignes :

hosts *
ControlMaster auto
ControlPath ~/.ssh/ssh-%r@%h:%p

Explication :

  • hosts : la machine cible, en indiquant * cela permet de faire du multiplexage vers n’importe quelle machine.
  • ControlMaster : c’est l’option qui active le multiplexage.
  • ControlPath:
    • %r : le nom d’utilisateur.
    • %h : la machine cible.
    • %p : le port distant.

Ne pas oublier, lorsque la première connexion est interrompue, toutes les connexions filles seront aussi déconnectées !

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

3 commentaires

  1. Plutôt que %r@%h:%p, tu peux utiliser %C qui est un hachage de %l%h%p%r. Perso j’utilise ControlPath ~/.ssh/control-%C. C’est plus simple dans le fichier de config, et plus sûr en cas d’espionnage de ta machine : en listant le contenu de ton .ssh, on ne peut pas déterminer vers quelles machines tu as une connexion multiplexée ouverte et utilisable.

    Je trouve également utile d’ajouter ControlPersist 5, qui permet que le ssh de multiplexage reste actif pendant 5 secondes après que le dernier client ssh a été fermé. C’est utile avec la fonctionnalité d’autocomplétion des fichiers distants pour les commandes scp proposée par mon shell, qui lance pour cela ses propres commandes par ssh pour voir ce qu’il y a sur le serveur distant : la persistance des multiplexages permet alors d’éviter d’ouvrir une nouvelle connexion ssh à chaque fois que j’utilise l’autocomplétion.

  2. Merci Elessar pour ces précieuses informations ! :-D
    concernant le piratage, j’ai configuré mon client ssh uniquement pour mes machines de mon réseau privé et je ne vais pas m’amuser à faire du multiplexage sur mes serveurs accessible sur internet :-)

  3. Merci pour cet article. Pouvez-vous préciser quel est le risque d’activer le multiplexage de connexion sur un serveur accessible sur internet ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *