SSH MITM Driver
jumpstarter-driver-ssh-mitm provides a secure SSH proxy layer where private keys
are stored on the exporter and never transmitted to clients. It is designed to be
used as a child of SSHWrapper.
Installation
:substitutions:
$ pip3 install --extra-index-url {{index_url}} jumpstarter-driver-ssh-mitm
Configuration
The command name is determined by the key in the export section. Use ssh_mitm to get the j ssh_mitm command:
export:
ssh_mitm: # ← This gives you "j ssh_mitm" command
type: jumpstarter_driver_ssh.driver.SSHWrapper
config:
default_username: root
children:
tcp:
type: jumpstarter_driver_ssh_mitm.driver.SSHMITM
config:
ssh_identity_file: /path/to/private/key
default_username: root
children:
tcp:
type: jumpstarter_driver_network.driver.TcpNetwork
config:
host: 192.168.1.100
port: 22
Or with inline key:
export:
ssh_mitm: # ← This gives you "j ssh_mitm" command
type: jumpstarter_driver_ssh.driver.SSHWrapper
config:
default_username: root
children:
tcp:
type: jumpstarter_driver_ssh_mitm.driver.SSHMITM
config:
default_username: root
ssh_identity: |
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
children:
tcp:
type: jumpstarter_driver_network.driver.TcpNetwork
config:
host: 192.168.1.100
port: 22
SSHMITM Config parameters
| Parameter | Description | Type | Required | Default |
|---|---|---|---|---|
| default_username | SSH username for DUT connection | str | no | "" |
| ssh_identity | SSH private key content (inline) | str | no* | None |
| ssh_identity_file | Path to SSH private key file | str | no* | None |
* Either ssh_identity or ssh_identity_file must be provided.
Required children
tcp: ATcpNetworkdriver providing target host and port
Usage
Since SSHMITM is used as a child of SSHWrapper, you use the configured command name (e.g., ssh_mitm):
# Execute a command
j ssh_mitm whoami
# Interactive shell
j ssh_mitm
# With arguments
j ssh_mitm ls -la /tmp
# With SSH flags
j ssh_mitm -v hostname
Note: The command name (ssh_mitm) is determined by the key in your exporter config's export section. You can use any name you prefer.
Architecture
SSHWrapper --> SSHMITM --> TcpNetwork --> DUT
- SSHWrapper: Handles SSH CLI and command execution
- SSHMITM: Provides authenticated proxy connection (stores the SSH key)
- TcpNetwork: Raw TCP connection to the DUT
API Reference
.. autoclass:: jumpstarter_driver_ssh_mitm.driver.SSHMITM()
Release files for jumpstarter-driver-ssh-mitm 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jumpstarter_driver_ssh_mitm-0.9.0.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jumpstarter_driver_ssh_mitm-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.7 kB
Release files / jumpstarter_driver_ssh_mitm-0.9.0.tar.gz
| Download URL | jumpstarter_driver_ssh_mitm-0.9.0.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eda8f71a788b5dc3e6da2c2ebdd84eba8cd2d311f42c85c1913b7c8da83fc40f
|
|
BLAKE2b-256 checksum How to use checksums |
c7e1d35cd13ca80aad841132e85337187573ff57926d596daa02acf10ba08771
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / jumpstarter_driver_ssh_mitm-0.9.0-py3-none-any.whl
| Download URL | jumpstarter_driver_ssh_mitm-0.9.0-py3-none-any.whl |
|---|---|
| Size | 10.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e0a376a8dcb7fafd508e38f9a9787ac80d3c29fda2ed560afa625381ae4acaa2
|
|
BLAKE2b-256 checksum How to use checksums |
3a04f3e156bdad7377d7b63dc4fd9216b08feda4e090a81840b35d45f0370fd2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|