Предполагая, что ваш экземпляр Amazon EC2 работает под управлением Linux (и очень вероятно, что вы используете SSH-2, а не 1), следующее должно работать довольно удобно:
Удаленный доступ к вашему экземпляру EC2.
ssh -i <YOUR_PRIVATE_KEY_FILE>.pem <INTERNET_ADDRESS_OF_YOUR_INSTANCE>
Добавьте директиву client-alive в файл конфигурации SSH-сервера экземпляра.
echo 'ClientAliveInterval 60' | sudo tee --append /etc/ssh/sshd_config
Перезапустите или перезагрузите сервер SSH, чтобы он распознал изменение конфигурации.
Команда для этого в Ubuntu Linux будет ..
sudo service ssh restart
На любом другом Linux , однако, следующее, вероятно, правильно ..
sudo service sshd restart
Disconnect.
logout
В следующий раз, когда вы подключитесь к этому экземпляру EC2 по SSH, эти очень раздражающие частые зависания / тайм-ауты / обрывы соединения должны быть пропущены.
Это также помогает с экземплярами Google Compute Engine, которые поставляются с такими же раздражающими настройками по умолчанию.
Предупреждение: Обратите внимание, что настройки TCPKeepAlive (которые также существуют) незначительно, но заметно отличаются от настроек ClientAlive , которые я предлагаю выше и что изменение настроек TCPKeepAlive по умолчанию может скорее навредить вашей ситуации, чем помочь.
Подробнее здесь: http://man.openbsd.org/?query=sshd_config