Repolode
shellhub-io

shellhub-io/shellhub

Self-hosted or cloud SSH gateway that gives remote access to Linux devices and servers behind NAT and firewalls, with per-user identities.

Open-source alternative to:TeleportTailscale SSH

Stars
2,248
Forks
203
Open issues
25
Last commit
12 hours ago

What is it?

ShellHub is a centralized SSH gateway for Linux devices and servers. A small agent on each device dials out to the ShellHub server, so the device needs no public IP or inbound port, whether it is a server, a cloud instance or an embedded device in the field. You then connect through the server using ssh, scp, sftp or a web-based terminal.

Every SSH login is tied to a specific team member rather than to a copied key in authorized_keys. Access policies define which users can reach which devices and as which Linux user, and removing someone from the team ends their access across all devices. Sessions are logged with the user, source IP and device.

The project can be self-hosted with Docker Compose, or used through the hosted ShellHub Cloud. Packages are provided for Yocto, Buildroot, FreeBSD and Snap, and devices can be grouped with tags.

Key features

  • 01Works with standard ssh, scp, sftp and port forwarding clients.
  • 02Devices connect outward, so no public IP or inbound port is needed.
  • 03Per-person SSH identities replace shared keys in authorized_keys.
  • 04Default-deny access policies control which users reach which devices.
  • 05Session logs record user, source IP and device for each connection.
  • 06Web terminal lets you open a shell from the console.

Use cases

  • Reaching servers or cloud instances that have no public IP.
  • Managing fleets of embedded Linux devices deployed in the field.
  • Giving team members audited, revocable SSH access to shared machines.
  • Running a self-hosted alternative to a commercial SSH access gateway.

Quick start

  1. 1

    Create a free ShellHub Cloud account, or self-host (step 2 onward)

  2. 2

    Clone the repository at the v0.27.0 tag

    git clone -b v0.27.0 https://github.com/shellhub-io/shellhub.git
  3. 3

    Change into the project directory

    cd shellhub
  4. 4

    Start the server with Docker Compose, then open /setup on your server to create the admin account

    make start

Things to know

  • Self-hosting needs Docker with Compose and ports 80 and 22 free on the host.
  • Production use requires extra setup for HTTPS and other settings described in the deployment guide.

In collections

Topics

FAQ

What is shellhub?
Self-hosted or cloud SSH gateway that gives remote access to Linux devices and servers behind NAT and firewalls, with per-user identities. ShellHub is a centralized SSH gateway for Linux devices and servers. A small agent on each device dials out to the ShellHub server, so the device needs no public IP or inbound port, whether it is a server, a cloud instance or an embedded device in the field. You then connect through the server using ssh, scp, sftp or a web-based terminal.
Is shellhub free to use? What license does it have?
shellhub is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is shellhub still maintained?
Actively maintained. The last commit to shellhub was on Nov 6, 2026.
What can I use shellhub for?
Reaching servers or cloud instances that have no public IP. Managing fleets of embedded Linux devices deployed in the field. Giving team members audited, revocable SSH access to shared machines. Running a self-hosted alternative to a commercial SSH access gateway.
How do I install shellhub?
Create a free ShellHub Cloud account, or self-host (step 2 onward) Clone the repository at the v0.27.0 tag: git clone -b v0.27.0 https://github.com/shellhub-io/shellhub.git Change into the project directory: cd shellhub Start the server with Docker Compose, then open /setup on your server to create the admin account: make start
Where can I get shellhub?
The source code and installation instructions are on GitHub: https://github.com/shellhub-io/shellhub

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

Open source Java GPS tracking server supporting 200+ device protocols, with a REST API and any major SQL database.

DevOps & Cloud#gps#gps-tracking#iot
8.1K+69 this week3.5KJavaApache-2.0Well maintainedUpdated 17 hours ago