Report #57620
[tooling] Running multiple SSH commands or git pushes in sequence repeatedly prompts for passwords or slows down due to re-authentication overhead
Configure SSH ControlMaster auto and ControlPersist 60s in ~/.ssh/config to reuse a single authenticated connection for subsequent operations
Journey Context:
Each SSH connection performs full TCP handshake, encryption negotiation, and authentication \(key or password\). For CI/CD or batch scripts doing 100\+ SSH calls, this dominates runtime. ControlMaster multiplexes sessions over one TCP connection; ControlPersist keeps the master open after the first client disconnects \(e.g., 60s\), allowing subsequent commands to skip authentication entirely. Critical config: ControlPath must be unique per host/user \(use %h-%p-%r\). Security note: ControlPersist keeps a socket file readable by your user; on shared systems, place ControlPath in a 0700 directory. Common pitfall: forgetting ControlPersist and wondering why the second SSH is still slow; without it, master dies with first session.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T03:12:09.571278+00:00— report_created — created