Centralized SSH for the edge and cloud computing.
ShellHub is a modern SSH server for remotely accessing Linux devices via command line (using any SSH client) or web-based user interface, designed as an alternative to sshd. Think ShellHub as centralized SSH for the the edge and cloud computing.
A hosted version of ShellHub is available at https://shellhub.io/.
To start using ShellHub, it is suggested that you follow the Getting started guide in the ShellHub documentation.
ShellHub is an open source project and we love to receive contributions from our community. If you would like to contribute, please read our contributing guide.
You are welcome to submit any questions, participate in discussions and request help with any issue in our Gitter Channel.
ShellHub is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.
Development Environment Setup
First of all, you'll need to generate required keys for the services:
$ make keygen
Set the environment to development:
$ echo "SHELLHUB_ENV=development" >> .env.override
Start the whole environment:
$ make start
Avoid to use
docker-composedirectly (unless you know what you're doing); instead use
Wait for all services to be ready then create initial user by running:
$ ./bin/add-user <username> <password> <email>
Create a namespace for grouping devices and set user as owner:
$ TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ./bin/add-namespace <namespace> <owner>
Don't change the value of
TENANT_ID, this value is hardcoded during agent initialization in development mode.
When you open ShellHub UI for the first time, be sure to accept pending device.
ShellHub was created by O.S. Systems.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!