Documentation

Démarrage rapide + description des fonctionnalités module par module et appareil par appareil (mise à jour continue)

Tunnel et maintenance

Cet article présente le « Tunnel et maintenance » du panneau — raccorder au panneau les serveurs sans IP publique.

En une phrase

Pour un appareil sans IP publique (machine du réseau interne, appareil derrière un NAT, téléphone Android), vous ne pouvez pas vous « connecter vers lui » depuis l'extérieur. Le Tunnel et maintenance fait en sorte que ces appareils se connectent d'eux-mêmes vers l'extérieur au serveur du panneau ; ensuite vous les pilotez comme un serveur classique.

Présentation de la fonctionnalité

Pour les appareils sans aucune adresse publique joignable (machines du réseau interne, appareils derrière un NAT, téléphones Android, etc.), la connexion SSH directe est impossible. Le Tunnel et maintenance utilise un tunnel inverse : ces appareils se connectent d'eux-mêmes au serveur du panneau, et vous pouvez ensuite les piloter comme un serveur classique.

Principe

  • Le serveur du panneau (avec IP publique) exécute un service de tunnel
  • Un Agent léger est installé sur l'appareil cible et « appelle » activement le serveur du panneau
  • Une fois la connexion établie, le panneau peut faire du SSH inverse vers l'appareil cible à travers ce tunnel

> En clair : l'appareil cible « téléphone » au serveur du panneau ; une fois la ligne ouverte, le panneau peut le piloter en retour par cette « ligne dédiée ».

Cas d'usage

  • Administrer des appareils du réseau domestique (Raspberry Pi, NAS, routeur logiciel)
  • Administrer un VPS bon marché sans IP publique (serveur NAT)
  • Administrer un téléphone Android (environnement Termux)

Comment l'utiliser (trois étapes)

1. Ouvrez « Tunnel et maintenance » et cliquez sur « Script d'installation en un clic » pour générer une commande dédiée

2. Collez la commande sur l'appareil cible et exécutez-la une fois (installation automatique de l'Agent + démarrage automatique)

3. Au bout d'une dizaine de secondes, l'appareil apparaît automatiquement dans le panneau ; vous pouvez vous y connecter en SSH et utiliser toutes les fonctionnalités

> La commande d'installation a volontairement été raccourcie, pour pouvoir être saisie à la main avant que tout soit en place :

> - Linux (curl) : curl -sSL http://serveur:5501/i/<jeton> | sudo bash

> - Termux : curl -sSL http://serveur:5501/t/<jeton> | bash

> - En root, sudo peut être retiré ; sur Alpine, utilisez wget -qO- … | sudo bash, sur BSD fetch -o - … | sudo bash

>

> Emplacement d'installation : sous Linux, /opt/sshe-agent par défaut (si /opt manque ou n'est pas accessible en écriture, le script se replie automatiquement sur ~/sshe-agent, sans erreur) ; sous Termux, ~/sshe-agent (démarrage avec Termux).

>

> Connexion sans mot de passe : après l'installation, le panneau se connecte à l'appareil sans mot de passe grâce à une clé injectée au préalable, sans saisie à chaque fois.

Environnements pris en charge par l'Agent

EnvironnementMode d'installation
Linux (apt/yum/dnf/apk)Script en un clic, installation automatique des dépendances + démarrage systemd
Android / TermuxScript dédié (installation automatique de l'Agent + démarrage avec Termux)

> ⚠️ macOS n'est pas pris en charge : les mécanismes d'authentification SSH varient fortement d'une version de macOS à l'autre, et une connexion stable entre versions ne peut être garantie ; cette version ne propose donc pas de raccordement par tunnel pour macOS. Utilisez des appareils Linux / Termux avec le Tunnel et maintenance.

État en ligne de l'Agent

  • En ligne : la connexion au tunnel est normale, l'appareil est pilotable à tout moment
  • Hors ligne : l'appareil est déconnecté (éteint, réseau coupé, Agent arrêté). L'enregistrement hors ligne est conservé un certain temps et l'appareil repasse en ligne automatiquement à la reconnexion

> 📌 Détermination sur la carte du serveur : l'« en ligne / hors ligne » d'un appareil tunnelisé dépend du heartbeat de l'Agent. Une fois l'Agent en ligne, le panneau établit dynamiquement un canal SSH à travers le tunnel pour collecter les vraies données de santé (charge / mémoire / disque / durée de fonctionnement / batterie / température), comme pour un serveur classique.

Points d'attention

1. L'Agent est le seul programme que le panneau doive installer sur l'appareil cible (l'exception au principe « zéro empreinte »). En effet, un appareil sans IP publique ne peut pas être joint activement : c'est lui qui doit sortir.

2. L'Agent consomme très peu de ressources (un processus Python + une connexion longue).

3. L'Agent communique via un tunnel chiffré : les échanges sont sûrs.

4. Si l'IP de l'appareil change ou si l'Agent cesse de fonctionner, relancez simplement le script d'installation pour rétablir la situation.

Relation avec le tunnel de ports

Le Tunnel et maintenance se charge de « faire entrer l'appareil » et le Tunnel de ports de « exposer sur l'Internet public le port applicatif de l'appareil ». Les deux se combinent : raccordez d'abord l'appareil sans IP publique avec le Tunnel et maintenance, puis mappez son application (Navidrome, Nextcloud, etc.) vers un port public du serveur du panneau avec le Tunnel de ports.