GitHub Stars
33
Version
v0.2.0
Language
Rust
License
MIT / Apache-2.0
Released
2026-06-07

sshelf (Rust, MIT/Apache-2.0, v0.2.0, 33★) is a terminal UI for managing SSH hosts — fuzzy-search to filter, Enter to connect. It maintains its own database and generates ssh commands rather than reading or writing ~/.ssh/config, keeping it decoupled from Ansible and other tooling that touches that file. Supports tag filtering, jump-host chains, frecency sorting, and OS-keychain password autofill. Gained +8 stars in 24 hours with active community PR contributions.

~/.ssh/config — which Ansible also writes, your team's shared tooling also reads, and you're not supposed to touch by hand. So when you need to get onto prod-db-07, you tab-complete into the config, visually scan past twelve similarly-named entries, copy the hostname, and finally run the command. Every time.ssh commands rather than reading from or writing to ~/.ssh/config. 1~/.ssh/config (I don't want another writer on a file that Ansible and half my toolchain already reads)." 2-J flag sequence for youprod-worker-03, then jump through bastion-us-east to reach a database node that's not directly reachable. The hostnames are long, the jump-host syntax is ssh -J bastion-us-east user@prod-db-internal-07, and you haven't touched that box in six weeks.prod-db. Two matches appear. The right one has a tag prod and frecency from the last incident puts it second in the filtered list. Select it, press Enter. sshelf assembles the full jump-host chain and opens the connection. You're in within ten seconds of the alert. 1
brew install max-rh/tap/sshelfcurl -fsSL https://raw.githubusercontent.com/max-rh/sshelf/master/install.sh | bash.deb package):cargo install --git https://github.com/max-rh/sshelfcargo works on Windows. 3~/.ssh/config import. If you have 80 hosts already defined in your config, you'll add them to sshelf manually. There's no bulk-import from an existing config file (yet).brew install max-rh/tap/sshelf
このコンテンツについて、さらに観点や背景を補足しましょう。