Fixing “client_loop: send disconnect: Broken pipe” in SSH — A Practical Guide
SSH dropping with client_loop: send disconnect: Broken pipe? It’s usually an idle timeout or flaky network. This guide shows quick client fixes (ServerAliveInterval, TCPKeepAlive, IPQoS), sensible server defaults (ClientAliveInterval), and a fast diagnosis playbook using ssh -vvv and server logs. We also cover resilient workflows—tmux, rsync, and mosh—so brief outages don’t kill your work.