https://github.com/lightsing/ssh-container
a login-shell replacement to allocate container for user.
https://github.com/lightsing/ssh-container
docker kubernetes rust
Last synced: about 2 months ago
JSON representation
a login-shell replacement to allocate container for user.
- Host: GitHub
- URL: https://github.com/lightsing/ssh-container
- Owner: lightsing
- License: agpl-3.0
- Created: 2021-05-10T03:30:49.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-09-09T05:11:49.000Z (almost 5 years ago)
- Last Synced: 2025-08-09T22:22:41.873Z (10 months ago)
- Topics: docker, kubernetes, rust
- Language: Rust
- Homepage:
- Size: 52.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ssh-container
This is a login-shell replacement to allocate container for user.
## Usage
Make sure you have a linux server, rust toolchain, a proper docker installation.
Execute `make install` to compile and install to `/opt/ssh-container`.
Create a new user with login shell of `/opt/ssh-container`. Add the user to `docker` group.
Now, you can log in with the user, and it will start a `ubunt:focal` container.
The container will be deleted before the ssh session is going to close.
Currently, it works with docker, and it's only a PoC (proof of concept).
It does not limit the container resource, be careful there will be a potential DoS vulnerability for open access.
## TODO
- [ ] Kubernetes support (then it works with cluster)
- [ ] Admin/Configurable Login Controller (Auth/Image selection)
- [ ] Optional persistent container (Require auth capability)
- [ ] scp support (scp from user into container)