How to determine reason for SSH broken pipe
Check for local keep alive settings on your mac. These were mine...:

sysctl -a | grep tcp.keep
net.inet.tcp.keepidle: 3600
net.inet.tcp.keepintvl: 150
net.inet.tcp.keepinit: 75000
net.inet.tcp.keepcnt: 8


I needed to change the keepintvl setting to some higher value:

sudo sysctl -w net.inet.tcp.keepintvl=7500


Then the ssh "write failed: Broken pipe" error messages vanished.