Вы также можете настроить на уровне приложений keep-alives для SSH, чтобы предотвратить его зависание при проблемах подключения. Мой ~/.ssh/config содержит следующее:
Host *
ServerAliveInterval 15
# ServerAliveCountMax 3
Это заставляет ssh-клиент отправлять на уровне приложений каждые 15 секунд. Всякий раз, когда три из них прерываются последовательно (по умолчанию ServerAliveCountMax), клиент рассматривает соединение как зависание и закрывает его.
Против другой опции TCPKeepAlive это проверяется в зашифрованном канале и не подделано.
Следует отметить, что эти keep-alives также помогают поддерживать, , предотвращение соединений, т. е. предотвращать вас полузакрытым tcp сеансы, висящие в течение нескольких часов, не тронуты.
Я настоятельно рекомендую включить эту функцию, если вы сталкиваетесь с этим регулярно, но вы также должны знать о небольшом угрозе безопасности, который она может наложить. A полузамкнутый может стать проще, если злоумышленник знает интервал и содержимое простоя. Это может быть причиной того, почему он не включен по умолчанию.