Firewalls will often drop idle ssh connections. You , or your server administrator, can take steps to ensure connections stay alive and thus are not dropped.IT Security Office's info on this, as of March 2016:
--------------------------------------------------
Traffic Filtering Issues
Problem : ssh connections silently disconnect when left idle, yielding a "broken pipe" or similar message
Root Cause: an idle ssh connection, by default, sends no traffic, which allows the connection to time out in the Managed Firewall state table. The state table cannot have a timeout value longer than the default 300 seconds
Solution/Workaround: ssh can be configured, either on the ssh client or ssh server side, to send periodic keepalive packets.
on the client, in the file "ssh_config" in either /etc/ or /etc/ssh, use the lines:
Host *
ServerAliveInterval 300
ServerAliveCountMax 2
on the server, in the file "sshd_config" in either /etc/ or /etc/ssh, use the line:
ClientAliveInterval 300
--------------------------------------------------