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.8.1.tar.gz (10.6 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.8.1-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_ssh-0.8.1.tar.gz
Algorithm Hash digest
SHA256 cc6dc929b3bdd2defda8a70c1dd8b0246b1f6347e41c56872b4188a27262aa4f
MD5 1606e38ac68ffe758d41e6fa273e4caf
BLAKE2b-256 73cd280f4b701cbe502b2c2e7ea8d4cfb60be99241c2addcc3a6529445c1e58c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_ssh-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 022120c5cd53acb20f4d5bf900b9c1c926e58b3ead959096599b219dd851cd77
MD5 8d7e946917a78c20ed6e478d492fcc2c
BLAKE2b-256 66d716b3d2119a72caeda3970e7da55451d2fa8043bfdc9baf8614023f5c2cc0

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