Попробуйте значение ClientAliveInterval уменьшить до десятков секунд. 7200 - это два часа, что явно больше 30-45 минут. Сама по себе SSH-сессия рваться не должна, но если между клиентом и сервером есть какое-то "умное" сетевое оборудование, имеющее таблицы сессий, то оно может разрывать соединение по таймауту сессии, если не было никакого трафика между клиентом и сервером.
На клиенте можно включить опцию ServerAliveInterval
Описание из man'а
ServerAliveInterval
Sets a timeout interval in seconds after which if no data has been received from the server, ssh(1) will send a message through the encrypted channel to request a response from the server. The default is 0, indicating that these messages will not be sent to the server.