• Stars
    star
    2,528
  • Rank 17,497 (Top 0.4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ContainerSSH: Launch containers on demand

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: Apache 2.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.

Need help?

Join the Slack channel ยป

Use cases

Build a lab

Building a lab environment can be time-consuming. ContainerSSH solves this by providing dynamic SSH access with APIs, automatic cleanup on logout using ephemeral containers, and persistent volumes for storing data. Perfect for vendor and student labs.

Read more ยป

Debug a production system

Provide production access to your developers, give them their usual tools while logging all changes. Authorize their access and create short-lived credentials for the database using simple webhooks. Clean up the environment on disconnect.

Read more ยป

Run a honeypot

Study SSH attack patterns up close. Drop attackers safely into network-isolated containers or even virtual machines, and capture their every move using the audit logging ContainerSSH provides. The built-in S3 upload ensures you don't lose your data.

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 ยป

Contributing

If you would like to contribute, please check out our Code of Conduct as well as our contribution documentation.

More Repositories

1

libcontainerssh

Embedded ContainerSSH and webhook helper library
Go
55
star
2

containerssh.github.io

The ContainerSSH website
Python
32
star
3

examples

ContainerSSH examples
Dockerfile
11
star
4

MiniContainerSSH

A learning-focussed, simplified implementation of ContainerSSH
Go
9
star
5

kubernetes

The Kubernetes backend for ContainerSSH
Go
7
star
6

log

Common logging interface for ContainerSSH modules
Go
6
star
7

auth

ContainerSSH authentication library
Go
5
star
8

agent

The guest agent for ContainerSSH
Go
4
star
9

images

The ContainerSSH container images
Go
2
star
10

sshproxy

SSH proxy backend for ContainerSSH
Go
2
star
11

AuthConfig

The Authentication and Configuration Server for ContainerSSH
1
star
12

structutils

Utility wrapper for structs for ContainerSSH
Go
1
star
13

.github

ContainerSSH organization-wide repository
1
star
14

unixutils

Utilities related to UNIX systems
Go
1
star
15

backend

Container backend abstraction library for ContainerSSH
Go
1
star
16

github-terraform

Terraform repository for managing this GitHub organization
HCL
1
star
17

library-template

Template for library repositories
1
star
18

metricsintegration

SSH integration for metrics collection for ContainerSSH
Go
1
star
19

health

Healthz server for ContainerSSH
Go
1
star
20

sshserver

The SSH server and decoding library used by ContainerSSH
Go
1
star
21

packages

The ContainerSSH packages page
Shell
1
star
22

docker

The Docker backend for ContainerSSH
Go
1
star
23

kuberun

The legacy Kubernetes backend for ContainerSSH
Go
1
star
24

configuration

Common configuration library for ContainerSSH
Go
1
star
25

charts

The ContainerSSH Helm charts
1
star
26

auditlog

Audit logger for ContainerSSH
Go
1
star
27

http

Common HTTP library for ContainerSSH
Go
1
star
28

guest-image

The source code of the default ContainerSSH guest image
Dockerfile
1
star