Poser un mmh — par SSH sans intervention, ou par la voie pull

Minihubs et mmh · 6. Installer un mmh

Une adresse et un compte,
ou un paquet à déposer.

Si la machine accepte SSH, le Hub fait tout. Si elle refuse toute connexion entrante, on y dépose un paquet, et l’antenne se présente d’elle-même.

Un mmh ne vaut que par l’endroit où il tourne : la machine d’un client, une VM chez un hébergeur, un serveur qui doit sortir sur Internet. Il faut donc pouvoir l’y poser vite, et proprement. Il y a deux chemins. Ils mènent au même endroit : un mmh qui rappelle son minihub parent sur le port 443 et apparaît dans l’onglet miniMiniHubs de ce minihub.

À quoi ça sert

  • Ajouter une sortie sur Internet en une commande, TOR compris.
  • Installer une antenne chez un client dont la machine refuse toute connexion entrante.
  • Mettre à jour sans changer d’identité : même nom, même magasin, même historique.
  • Retirer proprement : arrêt, purge, et le nœud quitte la flotte.

Ce qu’on voit à l’écran

Cet article n’a pas de capture. La pose d’un mmh ne passe pas par un écran : c’est une action du Hub, appelée en MCP ou en REST. Ce qu’on voit, c’est le résultat : le nouveau mmh dans l’onglet miniMiniHubs de son minihub, décrit dans l’article « Le mmh, en bref ».

Comment ça marche — par SSH, sans intervention

On donne au Hub l’adresse de la machine, un compte et son mot de passe. Il déduit le reste : l’identifiant de la machine, le nom du nœud, le minihub parent, le binaire à poser, les rôles (proxy et smtp par défaut), le mode (service permanent).

Le Hub range les accès

Le compte SSH part dans le coffre de secrets du Hub. Il servira aux mises à jour.

Le Hub fabrique l’identité

Il génère la clé et la demande de certificat, les fait signer par la PKI de son coffre, pour 90 jours. Il tire aussi le secret qui chiffrera le magasin local du mmh, et le garde au coffre.

Il écrit les permissions

Un fichier de permissions dérivé des rôles. Sans lui, l’agent démarrerait muet.

Le minihub parent se connecte à la machine

L’ordre voyage dans le tunnel jusqu’au minihub, qui ouvre la session SSH. Il dépose le binaire, vérifie son empreinte, pose l’identité, la configuration et les permissions.

Il installe TOR si le rôle est proxy

Avec un port de contrôle, pour pouvoir changer de circuit à la demande.

Il démarre le service

Un service systemd, lancé sous le compte fourni. Le mmh rappelle son parent en mTLS sur 443, et apparaît dans la liste.

Comment ça marche — la voie pull

Certaines machines n’acceptent aucune connexion entrante, pas même SSH. Alors on inverse : c’est la machine qui vient chercher.

La machine génère sa propre clé

La clé privée ne quitte jamais la machine. Seule la demande de certificat en sort.

Le Hub signe la demande

Par la même PKI, pour 90 jours. On rend le certificat et celui de l’autorité.

On dépose un paquet

Le binaire, les certificats, un fichier bootstrap.json (identité, parent, rôles, secret du magasin) et le fichier de permissions. Puis install.sh.

L’antenne s’enrôle au premier battement

Aucun enregistrement préalable : le minihub parent crée la ligne du mmh à son premier signe de vie.

Un programme Go qui n’est pas notre agent peut aussi s’enrôler comme mmh, en parlant le même protocole. Il devient visible et pilotable depuis son minihub.

Sous le capot

Poser deploy_miniminihub : vm_host, ssh_user, ssh_password requis ; optionnels roles, mode (persistent ou ephemeral), with_tor, exec_allow, settings, mcp_servers, heartbeat_ms, ttl_seconds
Mettre à jour update_miniminihub : même identifiant, même nom, magasin préservé ; identifiants SSH relus au coffre ; refuse un nœud qui n’a pas été posé par deploy_miniminihub
Retirer destroy_miniminihub : arrêt drainé, purge par SSH, révocation du certificat
Identité CSR RSA 2048 générée par le Hub, signée en sign-verbatim par la PKI du coffre ; 90 jours
Sur la VM /opt/miniminihub/, unité systemd sous le compte SSH ; TOR avec port de contrôle
Voie pull paquet deploy/selfinstall/ (install.sh, bootstrap.json) ; enrôlement automatique au premier battement

Toutes ces actions sont du worker miniminihub_deploy_worker, appelables par un agent IA.

Les limites, aujourd’hui

  • Le compte SSH doit pouvoir utiliser sudo sans mot de passe, pour installer le service.
  • Le binaire publié vise Linux sur processeur x86 64 bits.
  • Le certificat d’un mmh vaut 90 jours et se renouvelle à la main.
  • Un seul de nos minihubs accueille des mmh aujourd’hui.

Une machine où poser une antenne ?

Retour en haut

Mentions légales · Confidentialité · Contact

© 2026 LMVI Conseil — SARL, SIREN 949 417 620 · [email protected]