https://github.com/kokofixcomputers/temporarysshsessionmanager
The Temporary SSH Session Manager allows you to quickly create a session and ssh into the machine. Powered by Docker
https://github.com/kokofixcomputers/temporarysshsessionmanager
Last synced: about 1 year ago
JSON representation
The Temporary SSH Session Manager allows you to quickly create a session and ssh into the machine. Powered by Docker
- Host: GitHub
- URL: https://github.com/kokofixcomputers/temporarysshsessionmanager
- Owner: kokofixcomputers
- License: mit
- Created: 2024-12-05T23:39:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-06T01:08:09.000Z (over 1 year ago)
- Last Synced: 2025-02-06T01:26:42.609Z (over 1 year ago)
- Language: Python
- Size: 178 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Temporary SSH Session Manager
A temporary SSH session manager.

## Why would you need this?
Sometimes you have apps or services you need to test. Or just commands that you want to play with and maybe have the possibility to ruin your system. Using a temporary SSH session manager you can do that without having to worry about the consequences. Powered by Docker.
## Features
- Create a temporary SSH session
- Quickly delete the temporary SSH session
- Easy to use
- Dockerized
- Easy to install
- Subnets (Allow containers to connect to each other)
- Internet Access (Allow containers to access the internet)
- Exposed Port (Randomly choose a port from a range to allow access to containers from outside network.)
- Nice UI
- Custom Connection Client
## Installation
Prerequisites:
- Docker (rootless doesn't work)
- Python 3.6+
- pip
Just clone this repository
```bash
git clone https://github.com/kokofixcomputers/TemporarySSHSessionManager
```
and then install dependencies with:
```bash
pip install -r requirements.txt
```
In some cases you might have to install with `pip3` instead of `pip`.
then, just run with
```bash
python main.py
```
In some cases you might have to run with `python3` instead of `python`.
## Configuration
The configuration file is located at `config.json`.
Here is all the configuration keys and their description:
| Key | Description | Default Value |
| --- | ----------- | ------------- |
| `REQUIRE_AUTH` | If set to `true`, the user will be redirected to kokoauth for login. **DO NOT TURN OFF IN PRODUCTION** | `true` |
| `ALLOW_ALL_VALID_KOKOAUTH_ACCOUNTS_TO_CREATE_SESSIONS` | If set to `true`, all valid kokoauth accounts will be able to create sessions. **NOT RECOMMENDED as it allows anyone to create sessions** | `true` |
| `ALLOWED_KOKOAUTH_ACCOUNTS_EMAIL` | A list of kokoauth accounts email address that are allowed to create sessions. (ONLY IF `ALLOW_ALL_VALID_KOKOAUTH_ACCOUNTS_TO_CREATE_SESSIONS` is set to `false`) **RECOMMENDED** | `` |
| `APP_SECRET` | The secret key for the app used for encrypting sessions. **DO NOT SHARE WITH OTHERS** | |
| `ADMIN_KOKOAUTH_ACCOUNT_EMAIL_ADDRESS` | The list of email addresses of admins. | `[]` |
| `DEBUG_MODE` | If set to `true`, the app will run in debug mode. **NOT RECOMMENDED FOR PRODUCTION USE** | `false` |
| `WEB_DASHBORD_PORT` | The port the app will run on. Previously named `PORT` but moved to `WEB_DASHBORD_PORT` migration script will help migrate | `2271` |
| `AGENT_PORT` | The port the agent websocket will run on.| `8765` |
| `STARTING_PORT_FOR_CONTAINERS` | Starting port of the randomly generated port for the ssh session | `2280` |
| `ENDING_PORT_FOR_CONTAINERS` | Ending port of the randomly generated port for the ssh session | `2599` |
## Using the Custom Client
Run:
```bash
python customclient.py
```
Then enter your API Key and Base URL. (with http:// or https://)