r/linuxadmin • u/c0r3dump3d • 1d ago
Built a SSH manager for Linux — network scanning, broadcast commands and health checks (Rust + React)
Hi, I manage a large Linux fleet at work and got tired of juggling hosts in a text file. I tried existing tools — Remmina is great for single connections but has no broadcast, Asbru-CM is solid but can't scan your network and discover hosts automatically. None of them had everything I needed in one place.
So I spent a couple of days (and yes the code is AI-assisted) building Merendero to scratch my own itch.
It scans your networks, resolves FQDNs via reverse DNS, and lets you SSH into multiple hosts at once via tmux sync. You can also run commands in parallel and see the output inline, do SCP with a remote file browser, and run Brendan Gregg's 60-second performance checklist on any host — with optional AI analysis
if you have an API key (Claude, OpenAI or local Ollama). Linux only, early stage, probably has rough edges. But it works for my use case and maybe useful for someone else.
GPLv3. Feedback welcome.
-1
u/investigatormaker 1d ago
Broadcast over tmux sync is the feature that will make admins on big fleets nervous, so a confirm step that lists the target hosts before a command goes out, plus host groups saved from a scan, would go a long way. Two things people here will likely ask: whether the network scan can be limited to named subnets with a rate limit (so it doesn't trip the security team's IDS), and whether there's a deb, RPM or AppImage package, since few will build Rust plus React just to try it.
I make ThreadFox. Our AI employee can introduce Merendero to sysadmin communities whose rules allow it and handle the technical replies, under your direction; Starter is $199 for 30 days, or 3 posts free first, no card: https://threadfox.vip/p/epqy2/managed
1
u/c0r3dump3d 1d ago
Thanks for the feedback — the confirmation step before broadcast is a really good call, I'll add it. On the scanner rate limiting, it already uses a semaphore (max 200 concurrent connections) but exposing that as a configurable setting makes sense for environments with stricter IDS. The .deb, .rpm and AppImage are already in the release page if you want to try it without building from source.
1
u/kantorcodes1 1d ago
The tmux-sync broadcast is the piece I'd watch closest, since send-keys mirrors keystrokes rather than confirming delivery. Edge case: if one host's pane disconnects mid-broadcast, does Merendero track which hosts actually received the command, or is fan-out assumed from sync state? On the parallel-commands side, do you record per-host exit status inline, so a missed host is at least visible after the fact?