96 lines
3.8 KiB
Markdown
96 lines
3.8 KiB
Markdown
---
|
|
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)
|
|
```yaml
|
|
# 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
|
|
```bash
|
|
# 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]]
|