Skip to main content

simple ssh manager inspired by zoxide

Project description

sshm

A Python CLI tool for managing SSH hosts and connections, backed by a SQLite database.

Features

  • Add, list, update, and remove SSH hosts
  • Store connection details
  • Simple command-line interface

Installation

Clone the repository and install dependencies:

pip install -r requirements.txt

Usage

Run the CLI tool:

python -m sshm.cli [COMMAND] [OPTIONS]

Usage

You can use sshm to quickly connect to SSH hosts, store connection arguments, and select from previously used hosts.

Basic Usage

Run the CLI tool:

python -m sshm.cli [HOST] [SSH_ARGS]
# or if installed as a script:
sshm [HOST] [SSH_ARGS]

No Arguments

If you run sshm with no arguments, you will be presented with a list of previously used hosts to select and connect to interactively.

Fuzzy Host Search

If you provide a partial host name, sshm will use fuzzy search to suggest matching hosts. If one match is found, it connects directly. If multiple matches are found, you can select from the list.

sshm myhost

New Connection

If you provide a full SSH argument (e.g. user@host), sshm will store this connection and connect immediately. Any additional SSH arguments are passed through.

sshm alice@192.168.1.10 -p 2222 -i ~/.ssh/id_ed25519

How It Works

  • Connections are stored in a local SQLite database (data.sqlite3).
  • When connecting, the tool either matches an existing host or adds a new one.
  • You can select from previous connections interactively if no arguments are given.

Example Workflows

  1. Connect to a known host:

    sshm myserver
    

    (Fuzzy matches and connects to myserver)

  2. Add and connect to a new host:

    sshm alice@192.168.1.10 -p 2222
    

    (Stores and connects to this host)

  3. Interactive selection:

    sshm
    

    (Lists all stored hosts for selection)

Project Structure

sshm/
    cli.py      # CLI entry point
    data.py     # Database operations
    utils.py    # Utility functions
    __init__.py # Package init

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

ssh_connection_manager-0.1.0.tar.gz (41.6 kB view details)

Uploaded Source

Built Distribution

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

ssh_connection_manager-0.1.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file ssh_connection_manager-0.1.0.tar.gz.

File metadata

  • Download URL: ssh_connection_manager-0.1.0.tar.gz
  • Upload date:
  • Size: 41.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ssh_connection_manager-0.1.0.tar.gz
Algorithm Hash digest
SHA256 13026a5c5d7ca5b58f11f60e14dbc89859672b32732640967f5a8deecc5d865e
MD5 7fbdeaef0c27cf172d64e6034dfe70d4
BLAKE2b-256 06532002ad828ee283534ffaef9dd375725320c7c63aee16d4c71823049150c2

See more details on using hashes here.

File details

Details for the file ssh_connection_manager-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ssh_connection_manager-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ebf5220b9785d65cd645fe375f63c1b4f8e1d880894f1529b6ffd1f4d12d7e9
MD5 241988f0ef71fbc0a62718c49c8d0944
BLAKE2b-256 5da4c3ee5a9318e6e4cb60420d27aeda1cc05722514dc8d0e0d9f9daec7859d8

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