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

Опубликовано: 2 ноября 2012 / Обновлено: 14 февраля 2018
Раздел(ы): FreeBSD, GNU Linux - CentOS / Debian
Просмотры: 54694
Комментарии: 6

При удаленном подключении к серверу (виртуальному серверу) по 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

Обсуждение (комментарии к статье)

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 6 | 0,164 сек. | 8.35 МБ