Устраняем обрыв сессии SSH во FreeBSD и CentOS

 2 ноября 2012      
 FreeBSD / Linux - CentOS      
 1 комментарий

При удаленном подключении к серверу (виртуальному серверу) по SSH посредством Putty при простое в 5-10 минут отрубается сессия.
Ничего страшного в этом вобщем-то нет, так как сервер продолжает работать 🙂 Но…

Когда полезно увеличить время до разъединения при неактивности SSH

Если Вы ожидали вывод в консоль при выполнении какой-то программы, то, конечно Вы его потеряете, то есть ничего не увидите. А вывод результатов работы какого-нибудь приложения можно ждать и не один час. К примеру установка популярной панели управления хостингом ISPmanager во FreeBSD может растянуться на пару часов.

Как настроить SSH на сервере

Для устранения рассоединения при отсутствии активности в шелле необходимо настроить SHH сервис на стороне сервера. Для этого нужно отредактировать файл «/etc/ssh/sshd_config». Имя фала и его раположение одинаково как во FreeBSD, так и в CentOS.
Далее нам необходимо отредактировать три параметра:

TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 360

TCPKeepAlive установлен в «yes» — это означает, что сервер будет периодически проверять, находится ли клиент «на линии» – если он не отвечает, соединение автоматически разрывается.
ClientAliveInterval — Время простоя клиента в секундах, после которого демон sshd отправляет через защищённый канал запрос клиенту. Директива работает только для протокола 2.
ClientAliveCountMax — Количество проверок доступности клиента, которые могут оставаться без ответа. Если предел достигнут, sshd завершит сеанс.
При параметрах указанных выше в случае неактивности сервер будет поддерживать соединение в течении 6 часов (360 минут).
После внесения изменений необходимо перезапустить SSH demon.

Как перезапустить SSH сервис

В CentOS 6.3 и во FreeBSD 8.3 выполните следующее:

service sshd restart

Настройка PuTTy для устранения подвисаний

В самом клиенте PuTTy также желательно произвести нехитрые настройки.
Для этого идем в секцию «Connecton» и выставляем параметр «Seconds between keepalives» равным 60 секундам. Так же можно отметить опцию «Enable TCP keepalives»

О безопасности сессий при соединении SSH

Что будет, если оставить сессию ssh открытой? Это никак не скажется на безопасности, кроме случая, если кто-то посторонний сядет за Ваш компьютер или получит удаленный доступ к нему. SSH хорошо шифрует трафик, опасность только в доступе к Вашему пк.

При написании статьи были использованы материалы нижеследующих ресурсов:

  1. Настройка SSH сервера во FreeBSD, конфигурационный файл sshd_config
  2. Повышение безопасности ssh
  3. Putty keep-alive или как бороться с подвисанием соединений в Putty
  4. Disable SSH timeouts
  5. ssh timeout в FreeBSD 7.2

 Метки:  , , ,

Обсуждение: есть 1 комментарий

  1. Max:

    Спасибо за Enable TCP keepalives в Putty. Весь конфиг сервера перепроверил, все-равно рвалась.

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Технический блог © 2016
SQL - 41 | 0,188 сек. | 7.75 МБ