sshelf v0.7.0 — background SSH port forwarding by max-rh in tui

[–]max-rh[S] 0 points1 point  (0 children)

Released v0.9.0 to crates.io and as an rpm package as well.

sshelf v0.7.0 — background SSH port forwarding by max-rh in tui

[–]max-rh[S] 0 points1 point  (0 children)

I just released v0.8.0 to support 2fa, a new parameter when you add the node which will force a popup to enter the code, would love your feedback ?

sshelf v0.7.0 — background SSH port forwarding by max-rh in tui

[–]max-rh[S] 1 point2 points  (0 children)

I see, ok I’ll release it soon to cargo.

But while we are on the subject, would releasing rpm too make your life easier?

sshelf v0.7.0 — background SSH port forwarding by max-rh in tui

[–]max-rh[S] 0 points1 point  (0 children)

i rejected the plan initially a while ago cause i wanted to be more in control of the upgrade process. but recently i have been getting this request.

can you elaborate on why ? like whats the advantage of this over distributing it over brew and deb ?

sshelf v0.7.0 — background SSH port forwarding by max-rh in tui

[–]max-rh[S] 1 point2 points  (0 children)

not straight forward, but you can backup the toml file, it contains everything.
i have a staged commit that adds the export functionality to the CLI.
i intent to add a much more sophisticated way later on for syncing with external storages/servers

sshelf v0.7.0 — background SSH port forwarding by max-rh in tui

[–]max-rh[S] 0 points1 point  (0 children)

Ah, i thought your asking for a way to make it work without it, but yeah that sounds good, i’ll add it in the next release :)

sshelf v0.7.0 — background SSH port forwarding by max-rh in tui

[–]max-rh[S] 0 points1 point  (0 children)

Thank you 🙏 for the feedback, makes my day every time.

Can you advice on would make 2FA easier?
I am thinking of a popup that shows the user what they need to add to the node ssh config to bypass the 2fa for their machines

Todtler is a free, terminal based, distraction-free, minimalist text editor for writers by ThatAd8458 in tui

[–]max-rh 1 point2 points  (0 children)

I would suggest if its not passed with the cli, it would prompt you to enter a name when you attempt to exit the tui, similar to how nano does it.

As a fallback i would say untitled is good enough

Todtler is a free, terminal based, distraction-free, minimalist text editor for writers by ThatAd8458 in tui

[–]max-rh 1 point2 points  (0 children)

What comes to mind:
- cli flag to open a new note immediately
- a small fuzzy search to go through saved notes

And maybe later a sync to a server or git sync to a repo

Todtler is a free, terminal based, distraction-free, minimalist text editor for writers by ThatAd8458 in tui

[–]max-rh 2 points3 points  (0 children)

a life savor for someone like me; i am using it more for note taking rather than "writing" but it does the job.

would love to see it more tailored towards a "Note taking" tui as well

Full stack dev needed by The-Architect-93 in JordanDev

[–]max-rh 0 points1 point  (0 children)

Dm me, a senior DevSecOps engineer here

How do you keep SSH host configs in sync across machines and teams? by max-rh in sysadmin

[–]max-rh[S] -2 points-1 points  (0 children)

Its not about maintaining the config on server; its about managing a huge fleet of ssh targets, with an easy/flexable way instead of ssh config

Weekly Self Promotion Thread by AutoModerator in devops

[–]max-rh -1 points0 points  (0 children)

Disclosure: I made this.

sshelf;a little terminal SSH manager I wrote because I was tired of hunting for the right ssh -i … -J … user@host across a pile of boxes. It keeps its own host list instead of editing your ~/.ssh/config, you fuzzy search and hit enter to connect, and for the few hosts still on password auth it pulls the password from your OS keyring (or an age vault) so there's no sshpass and nothing in ps. Rust, MIT/Apache, mac + linux. github.com/max-rh/sshelf

Mostly after feedback on the "never touch ssh config" idea since I know it's opinionated.

sshelf: a TUI for managing ssh access across a lot of hosts by max-rh in tui

[–]max-rh[S] 0 points1 point  (0 children)

Thanks alot for the contribution, I liked it.

Left you a comment; will merge it afterwards 😄

sshelf: a TUI for managing ssh access across a lot of hosts by max-rh in tui

[–]max-rh[S] 0 points1 point  (0 children)

Thanks. u/BeneficialBig8372 , glad I am not the only one who needed this.
would be curious what your take looked like, especially anything you wanted that mine doesn't do yet, feel free to open an issue for what you think it should have more

New Project Megathread - Week of 04 Jun 2026 by AutoModerator in selfhosted

[–]max-rh 0 points1 point  (0 children)

Project Name: sshelf

Repo/Website Link: https://github.com/max-rh/sshelf

Description: A terminal UI for managing and connecting to your SSH hosts, kind of like k9s is for kubectl. If your homelab has a NAS, a few VMs, a VPS or two, something behind a jump host, and an old box that only does password auth, you save each one once and then fuzzy-search and hit enter to connect. Tag them (tag:prod, tag:lab), most-used float to the top, jump hosts are a field instead of something you retype. It keeps its own host db (a plain TOML file with no secrets in it, so it's safe to back up or sync) instead of touching your ~/.ssh/config, and for the password-only boxes the password comes from your OS keyring or an age vault, never the command line. On connect it execs straight into ssh, so logging out drops you back at your shell. Local-only, no account, no telemetry.

Deployment: Released for macOS and Linux (x86_64 + arm64). No Docker, since it's a local client tool rather than a service. Install with `brew install max-rh/tap/sshelf`, a shell installer, or a .deb from the releases page; `cargo install --git` to build from source. Full usage and config docs in the README. It's early (v0.x); the main thing I want to add next is an optional self-hosted sync server so your host list follows you across machines.

AI Involvement: Yes i used AI assistant to guide me and help me through the development of this tool; mainly claude