Report #70611
[tooling] Slow SSH connections and authentication overhead for multiple sequential git fetch/scp operations
Configure \`ControlMaster auto\`, \`ControlPath ~/.ssh/sockets/%r@%h-%p\`, and \`ControlPersist 600\` in ~/.ssh/config to multiplex SSH sessions over a single TCP connection
Journey Context:
Each SSH command \(git fetch, scp, rsync\) typically opens a new TCP connection, performs the full TLS handshake, and re-authenticates \(especially painful with 2FA hardware keys or smart cards\). This creates significant latency for scripts that perform many SSH operations. ControlMaster creates a persistent Unix domain socket after the first connection; subsequent clients use this socket to tunnel through the existing connection instantly. ControlPersist keeps the master connection alive for a specified time after the last client disconnects. This reduces per-operation overhead to near zero and is essential for high-throughput CI/CD pipelines or interactive workflows involving many small SSH calls.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T01:06:13.523338+00:00— report_created — created