| Crates.io | nossh |
| lib.rs | nossh |
| version | 0.1.3 |
| created_at | 2025-07-06 19:12:50.045723+00 |
| updated_at | 2025-07-06 19:12:50.045723+00 |
| description | A SSH endpoint finder and launcher with fuzzy history lookup and ⬢ `.ssh/config` reference. |
| homepage | |
| repository | https://git.front.kjuulh.io/kjuulh/nossh |
| max_upload_size | |
| id | 1740373 |
| size | 66,607 |
A lightning-fast SSH endpoint finder and launcher with fuzzy history lookup and ⬢ .ssh/config reference.
Fuzzy history search
Quickly fuzzy-find and re-run past ssh commands you’ve executed.
.ssh/config lookup
Instantly search host entries from your ~/.ssh/config.
Interactive mode
Presents a searchable list of endpoints for one-shot selection.
External invocation
Falls back to standard ssh when provided arguments.
Configurable config path
Override the default ~/.ssh/config via an --ssh-config-path flag or SSH_CONFIG_PATH env var.
cargo install nossh
Or build from source:
git clone https://github.com/yourorg/nossh.git
cd nossh
cargo build --release
cp target/release/nossh /usr/local/bin/
Launch interactive search
nossh
Fuzzy-find against:
ssh … commands.~/.ssh/config.Run a past command or config entry
# Start typing “git.fr” and press Enter:
$ nossh
1. ratchet:22
2. somegateway:222
# 3. git.front.kjuulh.io
> git.fr
# then Enter runs:
ssh git.front.kjuulh.io
Direct ssh passthrough
nossh user@host -p 2222
Behaves exactly like ssh …; also logs the invocation for future fuzzy lookup.
nossh [--ssh-config-path <path>] [<ssh-args>...]
| Option | Description |
|---|---|
--ssh-config-path PATH |
Path to your SSH config file (default: ~/.ssh/config). Overrides SSH_CONFIG_PATH env var |
<ssh-args>… |
If provided, forwarded to ssh as normal. |
SSH_CONFIG_PATH
Alternative way to point to your SSH config:
export SSH_CONFIG_PATH="/custom/path/config"
The default SSH config path is ${HOME}/.ssh/config. If that file is missing or you wish to use a different config, set the flag or env var:
nossh --ssh-config-path /mnt/shared/ssh_config
Startup
~/.ssh/config (or your override).~/.local/share/nossh/db.sqlite3).Interactive Mode
Presents a fuzzy prompt (via fzf-style) combining:
user@host -p 2222).Selection
ssh with the selected arguments.ssh … and appends to history.Basic interactive
nossh
Forced interactive
nossh interactive
One-liner passthrough
nossh -i ~/.ssh/id_ed25519 root@example.com
Clone and run tests:
git clone https://github.com/kjuulh/nossh.git
cd nossh
cargo test
MIT-licensed