If you ssh to hosts beyond a firewall or from within a NATted network then you’ll have noticed that SSH sessions timeout and get disconnected. I found that setting the TMOUT variable to 0 helped when not going through a firewall, and it must have been the firewall disconnecting an idle session otherwise.
Add this line to the sshd_config of the server and restart sshd. This will send a keep alive signal to the client every 360 seconds.
man 5 sshd_config will give you more information about that. This works in OpenSSH. I’m not sure if it’ll work elsewhere.