Popularity
4.3
Growing
Activity
9.8
Growing
756
24
76

Description

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. It enables teams to easily access any Linux device behind firewall and NAT.

Programming language: Go
License: Apache License 2.0
Tags: SSH     Web Based     SSH Server    
Latest version: v0.4.3-rc.1

ShellHub alternatives and similar tools

Based on the "SSH" category.
Alternatively, view ShellHub alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of ShellHub or a related project?

Add another 'SSH' Tool

README

Centralized SSH for the edge and cloud computing.

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:END -->

ShellHub Hosted • Documentation • Contributing • Getting Help

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/.

Screenshot

Getting started

To start using ShellHub, it is suggested that you follow the Getting started guide in the ShellHub documentation.

Contributing

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](CONTRIBUTING.md).

Getting Help

You are welcome to submit any questions, participate in discussions and request help with any issue in our Gitter Channel.

License

ShellHub is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE.md) 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-compose directly (unless you know what you're doing); instead use bin/docker-compose wrapper.

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.

See the [devscripts which can be useful for development](./devscripts).

Authors

ShellHub was created by O.S. Systems.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> Luis Gustavo S. Barreto💻 Otavio Salvador💻 Leonardo da Rosa Silveira João💻 Eduardo Kluwe Veiga💻 Vagner Nornberg💻 Fabio Berton📦 Rafael Gomes🚇 Mike💻 inductor(Kohei)🚇 Y.Horie💻 Robinson D. S. Santos💻 Lukas Bachschwell📖 💻 Shawn💻 brammp💻 Sam McKelvie💻

<!-- markdownlint-restore --> <!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the all-contributors specification. Contributions of any kind welcome!


*Note that all licence references and agreements mentioned in the ShellHub README section above are relevant to that project's source code only.