3.8 KiB
title: ShellHub created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, remote-access, ssh, iot, edge, container, mesh] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Remote+Access, https://github.com/shellhub-io/shellhub]
🌐 ShellHub
Console SSH centralisée pour flottes de devices distribués (IoT, edge, containers, Raspberry Pi) derrière un serveur unique.
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | ShellHub |
| Slug | shellhub |
| Description | Plateforme SSH-as-a-Service pour IoT et edge : des milliers de devices accessibles via une seule URL |
| Site officiel | https://www.shellhub.com |
| Repository | https://github.com/shellhub-io/shellhub |
| Stars | 2 020 ⭐ |
| Licence | Apache-2.0 (Community Edition) |
| Langage principal | Go |
| Catégorie | Remote Access |
| Tags | [catalogue, remote-access, ssh, iot, edge, container, mesh] |
📝 Description
ShellHub répond à un problème précis : comment administrer en SSH des milliers de devices éparpillés (IoT, kiosques, Raspberry Pi, edge gateways, conteneurs) sans ouvrir de port ni maintenir un VPN par site ? Le serveur ShellHub joue le rôle de reverse SSH : les devices s'y connectent en sortie, et l'opérateur se connecte ensuite au serveur pour atteindre n'importe quel device de sa flotte.
C'est le même principe que les Cisco et leurs "SSH gateways", mais en self-hosted moderne, avec UI web, multi-tenant, namespaces par projet, et une couche d'authentification centralisée. L'agent sur le device est un binaire unique (shellhub-cli) ou un container Docker.
Cas d'usage typiques : gérer un parc de Raspberry Pi déployés sur des sites clients, administrer un cluster de kiosques, superviser des edge devices industriels, ou remplacer une solution propriétaire (CloudMQTT, Balena).
🚀 Installation
Via Docker Compose (Community)
# docker-compose.yml
services:
shellhub:
image: ghcr.io/shellhub-io/shellhub/v2/community:latest
container_name: shellhub
restart: unless-stopped
privileged: true
ports:
- "22:22" # SSH
- "80:80" # Web UI
- "443:443" # HTTPS
volumes:
- ./data:/var/lib/shellhub
Sur l'edge device
# Enregistrer le device
curl -sSf https://shellhub.example.com/install.sh | \
SERVER_ADDRESS=https://shellhub.example.com \
TENANT_ID=your-tenant sh
⚙️ Configuration
- Namespaces : isoler les flottes par client/projet.
- Authentification : locale, OIDC, LDAP, SAML.
- Firewall intégré : règles par namespace.
- Sessions SSH partagées entre plusieurs opérateurs.
- MFA TOTP, device fingerprinting.
- API REST pour provisionner automatiquement des devices.
🔗 Alternatives
- Balena Cloud — équivalent commercial, orienté fleet management complet.
- Tailscale / Headscale — VPN mesh SSH-able, sans UI de gestion de flotte.
- MeshCentral — couvre le use case avec une approche plus "remote desktop".
- remote.it / ngrok — reverse tunnels commerciaux avec binaire par device.
🔒 Sécurité
- Pas de port exposé côté devices : connexion sortante uniquement.
- MFA native (TOTP) et SSO via OIDC/SAML.
- Audit log complet de qui a ouvert quel device à quel moment.
- Chiffrement E2E SSH standard, certificats par device.
📚 Ressources
- Site officiel : https://www.shellhub.com
- Documentation : https://docs.shellhub.io
- Tutoriel Community : https://docs.shellhub.io/getting-started
🔗 Pages Liées
- cat-remote-access
- app-meshcentral — alternative remote management
- app-octelium — plateforme zero-trust plus générale
- app-traefik
- securisation-home-lab
- recettes-docker-compose