• Stars
    star
    2,631
  • Rank 17,401 (Top 0.4 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created over 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
59
star
2

containerssh.github.io

The ContainerSSH website
Python
32
star
3

examples

ContainerSSH examples
Dockerfile
14
star
4

MiniContainerSSH

A learning-focussed, simplified implementation of ContainerSSH
Go
11
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
3
star
10

sshproxy

SSH proxy backend for ContainerSSH
Go
2
star
11

charts

The ContainerSSH Helm charts
1
star
12

AuthConfig

The Authentication and Configuration Server for ContainerSSH
1
star
13

structutils

Utility wrapper for structs for ContainerSSH
Go
1
star
14

.github

ContainerSSH organization-wide repository
1
star
15

unixutils

Utilities related to UNIX systems
Go
1
star
16

backend

Container backend abstraction library for ContainerSSH
Go
1
star
17

github-terraform

Terraform repository for managing this GitHub organization
HCL
1
star
18

library-template

Template for library repositories
1
star
19

metricsintegration

SSH integration for metrics collection for ContainerSSH
Go
1
star
20

health

Healthz server for ContainerSSH
Go
1
star
21

sshserver

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

packages

The ContainerSSH packages page
Shell
1
star
23

docker

The Docker backend for ContainerSSH
Go
1
star
24

kuberun

The legacy Kubernetes backend for ContainerSSH
Go
1
star
25

auditlog

Audit logger for ContainerSSH
Go
1
star
26

configuration

Common configuration library 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