Skip to content

sshをユーザーごとのコンテナへ振り分けるツール

License

Notifications You must be signed in to change notification settings

CPCTF/ssh-separator

 
 

Repository files navigation

ssh-separator

swagger codecov go report

Tool to distribute ssh connections to docker containers for each user

Requirement

  • docker

Usage

Launch

It can be started using docker. For more information about environment variables, please see Environment Variables.

example

$ wget https://github.com/CPCTF2022/ssh-separator/raw/main/docker-compose.yaml
$ docker compose up

REST API

You can add users and reset the container for users via REST API. See OpenAPI for details.

Environment Variables

variable description example value
WELCOME The string displayed upon successful login. Login success!
API_KEY API key for REST API. aeneexiene7uu3fie4pa
API_PORT Port for REST API 3000
SSH_PORT Port for ssh 2222
IMAGE_NAME Docker image for user container mazrean/cpctf-ubuntu:latest
IMAGE_USER Username in user containers. ubuntu
IMAGE_CMD Shell in user containers. /bin/bash
CPU_LIMIT The number of CPUs to allocate to user containers. 0.5
MEMORY_LIMIT Memory limits for user containers. 1024
PIDS_LIMIT Limit the number of processes to user containers -1
BADGER_DIR Directory where user data is stored. /var/lib/ssh-separator
PROMETHEUS If true, provide metrics for prometheus. true

Author

Shunsuke Wakamatsu (a.k.a mazrean)

Licence

MIT

About

sshをユーザーごとのコンテナへ振り分けるツール

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.2%
  • Dockerfile 1.8%