ClientAliveInterval для предотвращения зависания / отключения ssh-сессии? - PullRequest
0 голосов
/ 03 марта 2011

После обновления моего VPS до CentOs 5.5 я начал испытывать замороженные / отключенные сеансы оболочки, если пренебрегал ими в течение определенного времени. Очень надоедливый. Я нашел решение отредактировать /etc/ssh/sshd_config и установить для ClientAliveInterval желаемое количество секунд. Насколько я понимаю, это, по сути, заменяет действия пользователя-клиента (меня) и, таким образом, предотвращает отключение сеанса.

Инициировав сеанс оболочки после внесения этого незначительного изменения, я, похоже, могу поддерживать пропущенный сеанс. Тем не менее, просто потому, что что-то работает, не означает, что был выбран лучший или даже правильный подход.

Есть ли лучший / иной способ предотвратить зависание сеанса оболочки?

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Никаких гарантий, но это то, что я недавно начал использовать на сервере.10 секунд кажется коротким, но я не доверяю своему телефону, чтобы поддерживать связь.Я полагаю, вы могли бы увеличить количество секунд до возобновления проблемы, а затем набрать ее обратно.

ClientAliveInterval 10

Устанавливает интервал времени ожидания в секундах, после которого, если от клиента не было получено никаких данных, sshd (8) отправит сообщение через зашифрованный канал для запроса ответа от клиента.По умолчанию 0, что означает, что эти сообщения не будут отправлены клиенту.

ClientAliveCountMax 200

В случае сбоя продолжайте попытки в течение 30 минут.Другими словами, продолжайте пробовать 200 раз каждые 10 секунд.Моя логика может быть ошибочной, в зависимости от того, что происходит через 10 секунд.Предполагая, что клиент тихий (как, может быть, я читаю), «живое» ли сообщение сбрасывает максимальное количество в случае успеха?Считается ли бездействие неудачей?Или неудача - «отсутствие подтверждения» живого сообщения?Пока я не знаю ответ, я полагаю, что можно повторить 200x.

Подобный вопрос здесь и некоторые достойные рекомендации ...

https://unix.stackexchange.com/questions/400427/when-to-use-clientaliveinterval-versus-serveraliveinterval

0 голосов
/ 26 ноября 2011

Значение ClientAliveInterval может увеличить время ожидания sshd, вы также можете попробовать следующую команду

echo "TMOUT=300 >> /etc/bashrc

echo "readonly TMOUT" >> /etc/bashrc

echo "export TMOUT" >> /etc/bashrc 
...