Skip to main content
Step-by-step guides for SSH on macOS

Run a command on multiple SSH servers from Mac

Broadcast keystrokes to every active SSH session at once, fleet-wide ops in seconds, no Ansible playbook required.

Estimated time: 2 minutes
When you have a fleet of similar servers, sometimes you just need to run `apt update`, `df -h`, or `systemctl status` on all of them at once. Ansible is the right answer for repeatable orchestration, but for ad-hoc one-offs, "I just want to see where each server stands right now", it's overkill. SSHive's broadcast mode types the same keystrokes into every active SSH session simultaneously, with each output visible in its own pane. No agent, no inventory, no YAML.

Step-by-step

  1. 1

    Open every SSH session you want to hit (Pro required)

    Connect to every server you care about, each becomes an SSH tab. Broadcast itself is **Pro-only** (`LicenseService.check('broadcast')`). The check is enforced **at every send**, not just when toggling the bar, so even if Free could open the input, the actual command would be blocked. In Free, hitting the shortcut opens the upgrade modal directly.
  2. 2

    Toggle the broadcast bar, Cmd+Shift+B

    Press **Cmd+Shift+B** (default; customizable in Settings → Shortcuts → Broadcast). An **orange bar** slides in at the top of the terminal area with a broadcast icon, the label "BROADCAST", and a session counter `(N session(s))` showing how many active SSH sessions will receive your input. Escape inside the input closes the bar.
  3. 3

    Type into the dedicated input, not into a terminal

    There is **no Cmd+click multi-select on terminal tabs**. The broadcast bar has its own dedicated input. Type your command there and hit **Enter** (or click "Send"). The command goes to **all** connected SSH sessions simultaneously, there is no per-session checkbox to filter. After sending, a toast confirms: `Broadcast sent, "<command>" → N session(s)`. Each session's output appears in its own terminal tab as usual.
  4. 4

    Compare outputs and exit broadcast

    Click each terminal tab to inspect output side by side, the one server that disagreed is the one to investigate. Hit Cmd+Shift+B again (or Escape) to close the bar. Keystrokes go back to whatever individual terminal you focus.

Frequently asked questions

Can I broadcast to a subset of sessions?+
Yes. In the sessions panel, check the boxes next to the sessions you want to include in the broadcast. Cmd+Shift+B then targets only the checked sessions. Save commonly used groups (e.g., "all web servers") for one-click selection.
Should I use broadcast or Ansible?+
Broadcast for one-off, ad-hoc commands you want to see immediately. Ansible for repeatable, idempotent, audited operations. Both have their place, broadcast is faster for "I want to see what version of OpenSSL is on each box right now"; Ansible is better for "deploy this config across the fleet every time we update it".

Try SSHive Free for macOS

Get the all-in-one SSH, SFTP, RDP and VNC client for Mac. Free download, no signup required.

Download SSHive Free