Как правило роутеры настроены на разрыв подвисших соединений через некоторый промежуток времени. У меня на работе таким промежутком является одна минута. И вот что приходилось видеть на экране: «Read from remote host dom.dyndns.org: Connection reset by peer».
Проблема решается всего одной строчкой в файле /etc/ssh/sshd_config

sudo vim /etc/ssh/sshd_config

добавляем строчку:

ClientAliveInterval 30

Интервал времени задается в секундах. Если в течении 30 секунд между клиентом и сервером не произошло обмена пакетми, sshd посылает сообщение по зашифрованному каналу данных, на которое автоматом отвечает клиентская машина.
Для того, чтобы применить изменения, нужно перезапустить sshd.

sudo /etc/init.d/ssh restart

В случае если нет доступа к конфигурационному файлу сервера, можно внесли подобные изменения на стороне клиента.

sudo vim /etc/ssh/ssh_config

параметр капельку отличается от серверного:

ServerAliveInterval 30