Report #67636
[tooling] Slow SSH connections and repeated 2FA prompts when running multiple commands or rsync
Configure \`ControlMaster auto\` and \`ControlPersist 10m\` in \`~/.ssh/config\` to multiplex subsequent connections through a single TCP socket, reusing the authenticated session and avoiding repeated handshakes.
Journey Context:
Each new \`ssh\`, \`scp\`, or \`rsync\` invocation performs a full TCP handshake, key exchange, and authentication \(which may involve slow 2FA prompts or hardware keys\), creating significant latency and user fatigue. The \`ControlMaster\` directive establishes a single 'master' connection that listens on a Unix domain socket; subsequent 'slave' connections use this socket to tunnel their traffic, skipping authentication entirely. \`ControlPersist\` keeps the master open in the background after the initial client disconnects, allowing future commands to reuse it within a time window \(e.g., 10 minutes\). This is distinct from connection pooling in application code; it's transparent to the user and works for any SSH sub-protocol \(sftp, scp\). It requires careful permission on the \`ControlPath\` directory to prevent other users from hijacking the socket.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T20:00:22.909357+00:00— report_created — created