/ContainerSSH

ContainerSSH: Launch containers on demand

Primary LanguageGoOtherNOASSERTION

ContainerSSH - Launch Containers on Demand

An SSH Server that Launches Containers in Kubernetes and Docker

Documentation: available GitHub Workflow Status GitHub release (latest SemVer) Docker Image Size (latest by date) Go Report Card LGTM Alerts License: MIT-0

ContainerSSH in One Minute

In a hurry? This one minute video explains everything you need to know about ContainerSSH.

An image with a YouTube play button on it.

Use cases

Offering SSH in a web hosting service?

ContainerSSH lets you dynamically create and destroy containers when your users connect. Authenticate against your existing user database and mount directories based on your existing permission matrix.

Read more »

Looking for a Linux learning environment?

With ContainerSSH you can launch Linux-based containers on demand when your students connect. You can supply your own container image and mount folders with learning and testing material as needed.

Read more »

Building a honeypot?

With the dynamic authentication server of ContainerSSH you can capture usernames and passwords, and you container environment can log commands that are executed.

Read more »

Building a high security environment?

ContainerSSH is being used to provide dynamic console access to an environment with sensitive credentials. Use the authentication and configuration server to dynamically provision credentials in conjunction with secret management systems such as Hashicorp Vault.

Read more »

How does it work?

  1. The user opens an SSH connection to ContainerSSH.
  2. ContainerSSH calls the authentication server with the users username and password/pubkey to check if its valid.
  3. ContainerSSH calls the config server to obtain backend location and configuration (if configured)
  4. ContainerSSH calls the container backend to launch the container with the specified configuration. All input from the user is sent directly to the backend, output from the container is sent to the user.

▶️ Watch as video » | 🚀 Get started »

Demo

🚀 Get started »