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
-
Connect to a known host:
sshm myserver(Fuzzy matches and connects to
myserver) -
Add and connect to a new host:
sshm alice@192.168.1.10 -p 2222
(Stores and connects to this host)
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13026a5c5d7ca5b58f11f60e14dbc89859672b32732640967f5a8deecc5d865e
|
|
| MD5 |
7fbdeaef0c27cf172d64e6034dfe70d4
|
|
| BLAKE2b-256 |
06532002ad828ee283534ffaef9dd375725320c7c63aee16d4c71823049150c2
|
File details
Details for the file ssh_connection_manager-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ssh_connection_manager-0.1.0-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ebf5220b9785d65cd645fe375f63c1b4f8e1d880894f1529b6ffd1f4d12d7e9
|
|
| MD5 |
241988f0ef71fbc0a62718c49c8d0944
|
|
| BLAKE2b-256 |
5da4c3ee5a9318e6e4cb60420d27aeda1cc05722514dc8d0e0d9f9daec7859d8
|