Skip to main content

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: A TcpNetwork driver 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)

Source distribution for jumpstarter-driver-ssh-mitm 0.9.0
File Size Uploaded
jumpstarter_driver_ssh_mitm-0.9.0.tar.gz 11.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jumpstarter-driver-ssh-mitm 0.9.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page