Skip to main content

SSH wrapper driver for Jumpstarter that provides SSH CLI functionality

Project description

SSHWrapper Driver

jumpstarter-driver-ssh provides SSH CLI functionality for Jumpstarter, allowing you to run SSH commands with configurable defaults and pass-through arguments.

Installation

pip3 install --extra-index-url https://pkg.jumpstarter.dev/simple/ jumpstarter-driver-ssh

Configuration

Example configuration:

export:
  ssh:
    type: jumpstarter_driver_ssh.driver.SSHWrapper
    config:
      default_username: "root"
      ssh_command: "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
    children:
      tcp:
        type: jumpstarter_driver_network.driver.TcpNetwork
        config:
          host: "192.168.1.100"
          port: 22

Usage

The SSH driver provides a CLI command that accepts all standard SSH arguments:

# Basic SSH connection (uses port forwarding by default)
j ssh

# SSH with direct TCP address
j ssh --direct

# SSH with specific user
j ssh -l myuser

# SSH with other flags
j ssh -i ~/.ssh/id_rsa

# Running a remote command
j ssh ls -la

CLI Options

The SSH command supports the following options:

  • --direct: Use direct TCP address (default is port forwarding)

All other arguments are passed directly to the SSH command. The driver uses the configured SSH command and default username from the driver configuration.

Username Handling

The driver supports multiple ways to specify the username:

  1. -l username flag: Explicit username specification (takes precedence)
  2. Default username: Used when no username is specified in arguments

If no -l flag or user@hostname format is provided, the default username from the driver configuration will be used automatically.

Dependencies

  • ssh: Standard SSH client (usually pre-installed)

API Reference

Driver Methods

.. autoclass:: jumpstarter_driver_ssh.client.SSHWrapperClient()
    :members: run

Configuration Parameters

Parameter Description Type Required Default
default_username Default SSH username to use when no username is specified in the command str no ""
ssh_command SSH command to use for connections str no "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR"

Required Children

  • tcp: A TcpNetwork driver instance that provides the connection details (host and port)

Project details


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-0.7.3.tar.gz (9.7 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-0.7.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file jumpstarter_driver_ssh-0.7.3.tar.gz.

File metadata

File hashes

Hashes for jumpstarter_driver_ssh-0.7.3.tar.gz
Algorithm Hash digest
SHA256 1b336b31f9c67bb398ff777a1260a04a9974f9f22aaac31b46a46e137801e7af
MD5 dd8c6398d42e631358c416aed6c1b703
BLAKE2b-256 afde6c86a0e48a8d42c38b83ef24b5b55bb60665861e4db7dc126e64ea294455

See more details on using hashes here.

File details

Details for the file jumpstarter_driver_ssh-0.7.3-py3-none-any.whl.

File metadata

File hashes

Hashes for jumpstarter_driver_ssh-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 74e76c6aa71d6b63c8a9b5597a0111168f4f5f92da6ec8f7f61f51622bbfbd2c
MD5 45495b8fd93b8d82af83e355d9ed29dc
BLAKE2b-256 4414457bbb2111c3c45b0d547714b5200fc954d4176bb869c78ad47c6aabfd29

See more details on using hashes here.

Supported by

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