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.4.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.4-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_ssh-0.7.4.tar.gz
Algorithm Hash digest
SHA256 09eaf97cc7adedf94106e90a8fc193b33b6373c272106f0fefd1b1e58aea4d81
MD5 62305c33224a38e6b9a25ccf5eddd96f
BLAKE2b-256 d411594d17998a58515e5f8f3d68fcc83f9a4d5ada1b537179b688736f60174b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jumpstarter_driver_ssh-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3e92ab3306b618dc99a98dc1376db52090ea893a7585018a0f1356e97ea58b87
MD5 e151e6bec16dac2678492eca4b7f7618
BLAKE2b-256 0a536b55a748e7e30a12cb59cfb020e457c9c3915ec000cf4b3f5e8fad6611cb

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