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

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

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.

API Reference

.. autoclass:: jumpstarter_driver_ssh_mitm.driver.SSHMITM()

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jumpstarter_driver_ssh_mitm-0.8.1.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jumpstarter_driver_ssh_mitm-0.8.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file jumpstarter_driver_ssh_mitm-0.8.1.tar.gz.

File metadata

File hashes

Hashes for jumpstarter_driver_ssh_mitm-0.8.1.tar.gz
Algorithm Hash digest
SHA256 163a8f446386a187e9b787fc4c270bf7551ec1615e0c346b3d10b50baa4c4555
MD5 ab548024ec55868989043409f6545891
BLAKE2b-256 d4c2671169b628fdfb57fec16d7aaa46e6b0c5080fe39b170aa7f7a0a7c31fdd

See more details on using hashes here.

File details

Details for the file jumpstarter_driver_ssh_mitm-0.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for jumpstarter_driver_ssh_mitm-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 389d9d8cd2de6035fe5cfe328f8a4a588fe692390d1d9e3167589b300a3b8e16
MD5 0d533d6a281fcf6f2ff0d154b96ab56c
BLAKE2b-256 49c62919439465ec56deddfaed79ccd3b9ce7a94f66f3564fcd5f86dc1e45e4c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.8.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page