56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
# Jumpbox Docker container
|
|
|
|
* Debian slim based image
|
|
* OpenSSH server
|
|
* User/group creation on startup
|
|
|
|
# Supported tags and respective `Dockerfile` links
|
|
|
|
- [`latest`](https://git.nethuis.nl/pommi/docker-jumpbox/Dockerfile)
|
|
|
|
# Usage
|
|
|
|
## Environment variables
|
|
|
|
| Key | Format | Description |
|
|
| --- | --- | --- |
|
|
| `ROOT_AUTHORIZED_KEYS` | `/path/to/file` | Path to file that contains the public SSH keys that can be used for root user authentication. This file will be copied to `/root/.ssh/authorized_keys` |
|
|
| `HOSTKEYS` | `/path/to/hostkey;...` | Specifies a (semi-colon separated list of) file(s) containing a private host key used by SSH. |
|
|
| `USERADD` | `{username}:{uid}:{gid};...` | Create user account(s) on startup |
|
|
| `GROUPADD` | `{groupname}:{gid};...` | Create group account(s) on startup |
|
|
| `BASE_DIR` | `/home` | Basedir used for user account creation (Default: `/home`) |
|
|
|
|
## docker run
|
|
|
|
```
|
|
$ docker run -it \
|
|
--name jumpbox \
|
|
-v $(pwd)/jumpbox:/var/lib/jumpbox \
|
|
-e "ROOT_AUTHORIZED_KEYS=/var/lib/jumpbox/authorized_keys"
|
|
-e "HOSTKEYS=/var/lib/jumpbox/ssh_host_ed25519_key;/var/lib/jumpbox/ssh_host_rsa_key"
|
|
-e "USERADD=jumpbox:1000:1000"
|
|
-e "GROUPADD=jumpbox:1000"
|
|
-p 1022:22 \
|
|
pommib/jumpbox:latest
|
|
```
|
|
|
|
## docker-compose
|
|
|
|
```
|
|
version: "3"
|
|
|
|
services:
|
|
jumpbox:
|
|
container_name: jumpbox
|
|
image: pommib/jumpbox:latest
|
|
ports:
|
|
- "1022:22/tcp"
|
|
volumes:
|
|
- '${PWD}/jumpbox:/var/lib/jumpbox'
|
|
environment:
|
|
ROOT_AUTHORIZED_KEYS: /var/lib/jumpbox/authorized_keys
|
|
HOSTKEYS: /var/lib/jumpbox/ssh_host_ed25519_key;/var/lib/jumpbox/ssh_host_rsa_key
|
|
USERADD: jumpbox:1000:1000
|
|
GROUPADD: jumpbox:1000
|
|
```
|