Попробуйте прописать у себя в конфигурации ssh клиента ~/.ssh/config опцию:
$ cat ~/.ssh/config
...
Host *
...
ServerAliveInterval 10
Файл ~/.ssh/config должен иметь права 600 (chmod 600 ~/.ssh/config)
Секция Host * должна быть всегда в конце файла конфигурации
Проверить работоспособность и уточнить причину разрыва соединения можно подключившись к серверу ssh клиентом с флагом -vvv (включает отладочный режим 3его уровня)
$ ssh -vvv user@hostname
много строк с установлением соединения и инициализацией сессии
debug2: shell request accepted on channel 0
...
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@hostname ~]$ debug3: send packet: type 80
debug3: receive packet: type 82
появление при "простое" соединения сообщений:
debug3: send packet: type 80
debug3: receive packet: type 82
Говорит о том что keepalive работает.